mirror of
https://github.com/hyper-neptune/yuuki.git
synced 2024-09-20 03:56:05 +08:00
Using yaml as the configure file format
This commit is contained in:
parent
9cc8ec818b
commit
dcbd4ecc5b
3
.gitignore
vendored
3
.gitignore
vendored
|
@ -1,3 +1,6 @@
|
||||||
|
# Star Yuuki BOT Configuration File
|
||||||
|
config.yaml
|
||||||
|
|
||||||
# Star Yuuki BOT Runtime Data
|
# Star Yuuki BOT Runtime Data
|
||||||
data/
|
data/
|
||||||
logs/
|
logs/
|
||||||
|
|
21
config.sample.yaml
Normal file
21
config.sample.yaml
Normal file
|
@ -0,0 +1,21 @@
|
||||||
|
Yuuki:
|
||||||
|
Default_Language: en
|
||||||
|
Admin:
|
||||||
|
-
|
||||||
|
KickLimit: 10
|
||||||
|
CancelLimit: 10
|
||||||
|
GroupMebers_Demand: 10
|
||||||
|
|
||||||
|
LINE:
|
||||||
|
Server:
|
||||||
|
Host:
|
||||||
|
Command_Path:
|
||||||
|
LongPoll_path:
|
||||||
|
|
||||||
|
Account:
|
||||||
|
X-Line-Application:
|
||||||
|
X-Line-Access:
|
||||||
|
User-Agent:
|
||||||
|
|
||||||
|
helper_LINE_ACCESS_KEYs:
|
||||||
|
-
|
|
@ -1,12 +1,12 @@
|
||||||
# -*- coding: utf-8 -*-
|
# -*- coding: utf-8 -*-
|
||||||
"""
|
"""
|
||||||
Yuuki_Libs
|
Yuuki_Libs
|
||||||
(c) 2019 Star Inc.
|
(c) 2020 Star Inc.
|
||||||
This Source Code Form is subject to the terms of the Mozilla Public
|
This Source Code Form is subject to the terms of the Mozilla Public
|
||||||
License, v. 2.0. If a copy of the MPL was not distributed with this
|
License, v. 2.0. If a copy of the MPL was not distributed with this
|
||||||
file, You can obtain one at http://mozilla.org/MPL/2.0/.
|
file, You can obtain one at http://mozilla.org/MPL/2.0/.
|
||||||
"""
|
"""
|
||||||
from .connection import Yuuki_Connection
|
from .yuuki import Yuuki
|
||||||
from .yuuki import Yuuki, Yuuki_Settings
|
from .config import Yuuki_Config
|
||||||
|
|
||||||
__all__ = ['Yuuki', "Yuuki_Settings", 'Yuuki_Connection']
|
__all__ = ['connection', 'data', 'data_mds', 'thread_control', 'Yuuki', 'Yuuki_Config']
|
||||||
|
|
68
libs/config.py
Normal file
68
libs/config.py
Normal file
|
@ -0,0 +1,68 @@
|
||||||
|
# -*- coding: utf-8 -*-
|
||||||
|
"""
|
||||||
|
Yuuki_Libs
|
||||||
|
(c) 2020 Star Inc.
|
||||||
|
This Source Code Form is subject to the terms of the Mozilla Public
|
||||||
|
License, v. 2.0. If a copy of the MPL was not distributed with this
|
||||||
|
file, You can obtain one at http://mozilla.org/MPL/2.0/.
|
||||||
|
"""
|
||||||
|
import yaml
|
||||||
|
|
||||||
|
|
||||||
|
class Yuuki_Config:
|
||||||
|
""" Configure Yuuki """
|
||||||
|
|
||||||
|
connectInfo = {
|
||||||
|
"Host": "",
|
||||||
|
"Command_Path": "",
|
||||||
|
"LongPoll_path": "",
|
||||||
|
}
|
||||||
|
|
||||||
|
connectHeader = {
|
||||||
|
"X-Line-Application": "",
|
||||||
|
"X-Line-Access": "",
|
||||||
|
"User-Agent": ""
|
||||||
|
}
|
||||||
|
|
||||||
|
systemConfig = {
|
||||||
|
"name": "Yuuki",
|
||||||
|
"version": "v6.5.3-alpha",
|
||||||
|
"version_check": True,
|
||||||
|
"project_url": "https://tinyurl.com/syb-yuuki",
|
||||||
|
"man_page": "https://tinyurl.com/yuuki-manual",
|
||||||
|
"privacy_page": "OpenSource - Licensed under MPL 2.0",
|
||||||
|
"copyright": "(c)2020 Star Inc.",
|
||||||
|
|
||||||
|
"Seq": 0,
|
||||||
|
"Admin": [],
|
||||||
|
"SecurityService": False,
|
||||||
|
"Hour_KickLimit": 10,
|
||||||
|
"Hour_CancelLimit": 10,
|
||||||
|
"Default_Language": "en",
|
||||||
|
"GroupMebers_Demand": 100,
|
||||||
|
"helper_LINE_ACCESS_KEYs": [],
|
||||||
|
}
|
||||||
|
|
||||||
|
def __init__(self, config_path="config.yaml"):
|
||||||
|
with open(config_path, "r") as configfile:
|
||||||
|
config = yaml.load(configfile, Loader=yaml.BaseLoader)
|
||||||
|
|
||||||
|
if "Yuuki" in config:
|
||||||
|
for key in config["Yuuki"]:
|
||||||
|
if key in self.systemConfig:
|
||||||
|
self.systemConfig[key] = config["Yuuki"][key]
|
||||||
|
|
||||||
|
if "Server" in config.get("LINE"):
|
||||||
|
for key in config["LINE"]["Server"]:
|
||||||
|
if key in self.systemConfig:
|
||||||
|
self.connectInfo[key] = config["LINE"]["Server"][key]
|
||||||
|
|
||||||
|
if "Account" in config.get("LINE"):
|
||||||
|
for key in config["LINE"]["Account"]:
|
||||||
|
if key in ["X-Line-Application", "User-Agent"]:
|
||||||
|
config["LINE"]["Account"][key] = config["LINE"]["Account"][key].replace("\\t","\t")
|
||||||
|
if key in self.systemConfig:
|
||||||
|
self.connectHeader[key] = config["LINE"]["Account"][key]
|
||||||
|
|
||||||
|
if "helper_LINE_ACCESS_KEYs" in config.get("LINE"):
|
||||||
|
self.systemConfig["helper_LINE_ACCESS_KEYs"] = config["LINE"]["helper_LINE_ACCESS_KEYs"]
|
|
@ -1,7 +1,7 @@
|
||||||
# -*- coding: utf-8 -*-
|
# -*- coding: utf-8 -*-
|
||||||
"""
|
"""
|
||||||
Yuuki_Libs
|
Yuuki_Libs
|
||||||
(c) 2019 Star Inc.
|
(c) 2020 Star Inc.
|
||||||
This Source Code Form is subject to the terms of the Mozilla Public
|
This Source Code Form is subject to the terms of the Mozilla Public
|
||||||
License, v. 2.0. If a copy of the MPL was not distributed with this
|
License, v. 2.0. If a copy of the MPL was not distributed with this
|
||||||
file, You can obtain one at http://mozilla.org/MPL/2.0/.
|
file, You can obtain one at http://mozilla.org/MPL/2.0/.
|
||||||
|
@ -15,35 +15,18 @@ from yuuki_core.TalkService import Client
|
||||||
try:
|
try:
|
||||||
from thrift.protocol import fastbinary
|
from thrift.protocol import fastbinary
|
||||||
except:
|
except:
|
||||||
fastbinary = None
|
print("[No fast_binary using]")
|
||||||
|
|
||||||
|
|
||||||
##########################################
|
##########################################
|
||||||
|
|
||||||
class Yuuki_Connection:
|
|
||||||
""" Connection Dict Type """
|
|
||||||
|
|
||||||
connectInfo = {
|
|
||||||
"Host": "",
|
|
||||||
"Command_Path": "",
|
|
||||||
"LongPoll_path": ""
|
|
||||||
}
|
|
||||||
|
|
||||||
connectHeader = {
|
|
||||||
"X-Line-Application": "",
|
|
||||||
"X-Line-Access": "",
|
|
||||||
"User-Agent": ""
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
class Yuuki_Connect:
|
class Yuuki_Connect:
|
||||||
def __init__(self, Yuuki_Connection):
|
def __init__(self, Yuuki_Configs):
|
||||||
|
|
||||||
self.host = Yuuki_Connection.connectInfo["Host"]
|
self.host = Yuuki_Configs.connectInfo["Host"]
|
||||||
self.com_path = Yuuki_Connection.connectInfo["Command_Path"]
|
self.com_path = Yuuki_Configs.connectInfo["Command_Path"]
|
||||||
self.poll_path = Yuuki_Connection.connectInfo["LongPoll_path"]
|
self.poll_path = Yuuki_Configs.connectInfo["LongPoll_path"]
|
||||||
|
|
||||||
self.con_header = Yuuki_Connection.connectHeader
|
self.con_header = Yuuki_Configs.connectHeader
|
||||||
|
|
||||||
self.helper = []
|
self.helper = []
|
||||||
self.helper_ids = []
|
self.helper_ids = []
|
||||||
|
|
|
@ -1,7 +1,7 @@
|
||||||
# -*- coding: utf-8 -*-
|
# -*- coding: utf-8 -*-
|
||||||
"""
|
"""
|
||||||
Yuuki_Libs
|
Yuuki_Libs
|
||||||
(c) 2019 Star Inc.
|
(c) 2020 Star Inc.
|
||||||
This Source Code Form is subject to the terms of the Mozilla Public
|
This Source Code Form is subject to the terms of the Mozilla Public
|
||||||
License, v. 2.0. If a copy of the MPL was not distributed with this
|
License, v. 2.0. If a copy of the MPL was not distributed with this
|
||||||
file, You can obtain one at http://mozilla.org/MPL/2.0/.
|
file, You can obtain one at http://mozilla.org/MPL/2.0/.
|
||||||
|
|
|
@ -20,7 +20,7 @@ auth_code = 0
|
||||||
|
|
||||||
|
|
||||||
# Functions
|
# Functions
|
||||||
def mds_exit(null=None, null_=None):
|
def mds_exit():
|
||||||
exit(0)
|
exit(0)
|
||||||
|
|
||||||
|
|
||||||
|
@ -48,7 +48,7 @@ def delete(path, data):
|
||||||
return {"status": 500}
|
return {"status": 500}
|
||||||
|
|
||||||
|
|
||||||
def query(query_data, null=None):
|
def query(query_data):
|
||||||
global switch_data
|
global switch_data
|
||||||
try:
|
try:
|
||||||
if type(switch_data) is dict and type(query_data) is list:
|
if type(switch_data) is dict and type(query_data) is list:
|
||||||
|
@ -71,7 +71,7 @@ def query(query_data, null=None):
|
||||||
return {"status": 500}
|
return {"status": 500}
|
||||||
|
|
||||||
|
|
||||||
def sync(path, null=None):
|
def sync(path):
|
||||||
global switch_data
|
global switch_data
|
||||||
try:
|
try:
|
||||||
switch_data = path
|
switch_data = path
|
||||||
|
|
|
@ -1,7 +1,7 @@
|
||||||
# -*- coding: utf-8 -*-
|
# -*- coding: utf-8 -*-
|
||||||
"""
|
"""
|
||||||
Yuuki_Libs
|
Yuuki_Libs
|
||||||
(c) 2019 Star Inc.
|
(c) 2020 Star Inc.
|
||||||
This Source Code Form is subject to the terms of the Mozilla Public
|
This Source Code Form is subject to the terms of the Mozilla Public
|
||||||
License, v. 2.0. If a copy of the MPL was not distributed with this
|
License, v. 2.0. If a copy of the MPL was not distributed with this
|
||||||
file, You can obtain one at http://mozilla.org/MPL/2.0/.
|
file, You can obtain one at http://mozilla.org/MPL/2.0/.
|
||||||
|
|
|
@ -9,7 +9,7 @@
|
||||||
The Language Package Contributor:
|
The Language Package Contributor:
|
||||||
supersonictw <https://github.com/supersonictw>
|
supersonictw <https://github.com/supersonictw>
|
||||||
|
|
||||||
Copyright(c) 2019 Star Inc. All Rights Reserved.
|
Copyright(c) 2020 Star Inc. All Rights Reserved.
|
||||||
The software licensed under Mozilla Public License Version 2.0
|
The software licensed under Mozilla Public License Version 2.0
|
||||||
"""
|
"""
|
||||||
|
|
||||||
|
|
|
@ -9,7 +9,7 @@
|
||||||
The Language Package Contributor:
|
The Language Package Contributor:
|
||||||
supersonictw <https://github.com/supersonictw>
|
supersonictw <https://github.com/supersonictw>
|
||||||
|
|
||||||
Copyright(c) 2019 Star Inc. All Rights Reserved.
|
Copyright(c) 2020 Star Inc. All Rights Reserved.
|
||||||
The software licensed under Mozilla Public License Version 2.0
|
The software licensed under Mozilla Public License Version 2.0
|
||||||
"""
|
"""
|
||||||
|
|
||||||
|
|
|
@ -1,7 +1,7 @@
|
||||||
# -*- coding: utf-8 -*-
|
# -*- coding: utf-8 -*-
|
||||||
"""
|
"""
|
||||||
Yuuki_Libs
|
Yuuki_Libs
|
||||||
(c) 2019 Star Inc.
|
(c) 2020 Star Inc.
|
||||||
This Source Code Form is subject to the terms of the Mozilla Public
|
This Source Code Form is subject to the terms of the Mozilla Public
|
||||||
License, v. 2.0. If a copy of the MPL was not distributed with this
|
License, v. 2.0. If a copy of the MPL was not distributed with this
|
||||||
file, You can obtain one at http://mozilla.org/MPL/2.0/.
|
file, You can obtain one at http://mozilla.org/MPL/2.0/.
|
||||||
|
@ -14,17 +14,20 @@ class Yuuki_Thread:
|
||||||
def __init__(self):
|
def __init__(self):
|
||||||
self.lock = threading.Lock()
|
self.lock = threading.Lock()
|
||||||
|
|
||||||
def add(self, Yuuki_Func, args=()):
|
@staticmethod
|
||||||
|
def add(Yuuki_Func, args=()):
|
||||||
added_thread = threading.Thread(name=Yuuki_Func.__name__, target=Yuuki_Func, args=args)
|
added_thread = threading.Thread(name=Yuuki_Func.__name__, target=Yuuki_Func, args=args)
|
||||||
added_thread.start()
|
added_thread.start()
|
||||||
|
|
||||||
def getThreadInfo(self):
|
@staticmethod
|
||||||
|
def getThreadInfo():
|
||||||
print(threading.active_count())
|
print(threading.active_count())
|
||||||
print(threading.enumerate())
|
print(threading.enumerate())
|
||||||
print("{} add Threading\n".format(threading.current_thread()))
|
print("{} add Threading\n".format(threading.current_thread()))
|
||||||
|
|
||||||
|
|
||||||
class Yuuki_Multiprocess:
|
class Yuuki_Multiprocess:
|
||||||
def add(self, Yuuki_Func, args=()):
|
@staticmethod
|
||||||
|
def add(Yuuki_Func, args=()):
|
||||||
added_multiprocess = multiprocessing.Process(name=Yuuki_Func.__name__, target=Yuuki_Func, args=args)
|
added_multiprocess = multiprocessing.Process(name=Yuuki_Func.__name__, target=Yuuki_Func, args=args)
|
||||||
added_multiprocess.start()
|
added_multiprocess.start()
|
||||||
|
|
|
@ -1,7 +1,7 @@
|
||||||
# -*- coding: utf-8 -*-
|
# -*- coding: utf-8 -*-
|
||||||
"""
|
"""
|
||||||
Yuuki_Libs
|
Yuuki_Libs
|
||||||
(c) 2019 Star Inc.
|
(c) 2020 Star Inc.
|
||||||
This Source Code Form is subject to the terms of the Mozilla Public
|
This Source Code Form is subject to the terms of the Mozilla Public
|
||||||
License, v. 2.0. If a copy of the MPL was not distributed with this
|
License, v. 2.0. If a copy of the MPL was not distributed with this
|
||||||
file, You can obtain one at http://mozilla.org/MPL/2.0/.
|
file, You can obtain one at http://mozilla.org/MPL/2.0/.
|
||||||
|
|
|
@ -1,7 +1,7 @@
|
||||||
# -*- coding: utf-8 -*-
|
# -*- coding: utf-8 -*-
|
||||||
"""
|
"""
|
||||||
Yuuki_Libs
|
Yuuki_Libs
|
||||||
(c) 2019 Star Inc.
|
(c) 2020 Star Inc.
|
||||||
This Source Code Form is subject to the terms of the Mozilla Public
|
This Source Code Form is subject to the terms of the Mozilla Public
|
||||||
License, v. 2.0. If a copy of the MPL was not distributed with this
|
License, v. 2.0. If a copy of the MPL was not distributed with this
|
||||||
file, You can obtain one at http://mozilla.org/MPL/2.0/.
|
file, You can obtain one at http://mozilla.org/MPL/2.0/.
|
||||||
|
|
|
@ -1,7 +1,7 @@
|
||||||
# -*- coding: utf-8 -*-
|
# -*- coding: utf-8 -*-
|
||||||
"""
|
"""
|
||||||
Yuuki_Libs
|
Yuuki_Libs
|
||||||
(c) 2019 Star Inc.
|
(c) 2020 Star Inc.
|
||||||
This Source Code Form is subject to the terms of the Mozilla Public
|
This Source Code Form is subject to the terms of the Mozilla Public
|
||||||
License, v. 2.0. If a copy of the MPL was not distributed with this
|
License, v. 2.0. If a copy of the MPL was not distributed with this
|
||||||
file, You can obtain one at http://mozilla.org/MPL/2.0/.
|
file, You can obtain one at http://mozilla.org/MPL/2.0/.
|
||||||
|
|
|
@ -1,7 +1,7 @@
|
||||||
# -*- coding: utf-8 -*-
|
# -*- coding: utf-8 -*-
|
||||||
"""
|
"""
|
||||||
Yuuki_Libs
|
Yuuki_Libs
|
||||||
(c) 2019 Star Inc.
|
(c) 2020 Star Inc.
|
||||||
This Source Code Form is subject to the terms of the Mozilla Public
|
This Source Code Form is subject to the terms of the Mozilla Public
|
||||||
License, v. 2.0. If a copy of the MPL was not distributed with this
|
License, v. 2.0. If a copy of the MPL was not distributed with this
|
||||||
file, You can obtain one at http://mozilla.org/MPL/2.0/.
|
file, You can obtain one at http://mozilla.org/MPL/2.0/.
|
||||||
|
|
|
@ -1,7 +1,7 @@
|
||||||
# -*- coding: utf-8 -*-
|
# -*- coding: utf-8 -*-
|
||||||
"""
|
"""
|
||||||
Yuuki_Libs
|
Yuuki_Libs
|
||||||
(c) 2019 Star Inc.
|
(c) 2020 Star Inc.
|
||||||
This Source Code Form is subject to the terms of the Mozilla Public
|
This Source Code Form is subject to the terms of the Mozilla Public
|
||||||
License, v. 2.0. If a copy of the MPL was not distributed with this
|
License, v. 2.0. If a copy of the MPL was not distributed with this
|
||||||
file, You can obtain one at http://mozilla.org/MPL/2.0/.
|
file, You can obtain one at http://mozilla.org/MPL/2.0/.
|
||||||
|
@ -26,35 +26,12 @@ from .thread_control import Yuuki_Multiprocess
|
||||||
from .webadmin.server import Yuuki_WebAdmin
|
from .webadmin.server import Yuuki_WebAdmin
|
||||||
|
|
||||||
|
|
||||||
class Yuuki_Settings:
|
|
||||||
""" Yuuki Custom Settings """
|
|
||||||
|
|
||||||
config = {
|
|
||||||
"name": "Yuuki",
|
|
||||||
"version": "v6.5.3-alpha",
|
|
||||||
"version_check": True,
|
|
||||||
"project_url": "https://tinyurl.com/syb-yuuki",
|
|
||||||
"man_page": "https://tinyurl.com/yuuki-manual",
|
|
||||||
"privacy_page": "OpenSource - Licensed under MPL 2.0",
|
|
||||||
"copyright": "(c)2019 Star Inc.",
|
|
||||||
|
|
||||||
"Seq": 0,
|
|
||||||
"Admin": [],
|
|
||||||
"SecurityService": False,
|
|
||||||
"Hour_KickLimit": 10,
|
|
||||||
"Hour_CancelLimit": 10,
|
|
||||||
"Default_Language": "en",
|
|
||||||
"GroupMebers_Demand": 100,
|
|
||||||
"helper_LINE_ACCESS_KEYs": []
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
class Yuuki:
|
class Yuuki:
|
||||||
def __init__(self, Yuuki_Settings, Yuuki_Connection, threading=False):
|
def __init__(self, Yuuki_Settings, threading=False):
|
||||||
|
|
||||||
# Static Variable
|
# Static Variable
|
||||||
|
|
||||||
self.YuukiConfigs = Yuuki_Settings.config
|
self.YuukiConfigs = Yuuki_Settings.systemConfig
|
||||||
|
|
||||||
self.Threading = threading
|
self.Threading = threading
|
||||||
self.Thread_Control = Yuuki_Multiprocess()
|
self.Thread_Control = Yuuki_Multiprocess()
|
||||||
|
@ -69,7 +46,7 @@ class Yuuki:
|
||||||
|
|
||||||
self.LINE_Media_server = "https://obs.line-apps.com"
|
self.LINE_Media_server = "https://obs.line-apps.com"
|
||||||
|
|
||||||
self.Connect = Yuuki_Connect(Yuuki_Connection)
|
self.Connect = Yuuki_Connect(Yuuki_Settings)
|
||||||
|
|
||||||
# Version Check
|
# Version Check
|
||||||
git_result = "Unknown"
|
git_result = "Unknown"
|
||||||
|
@ -106,10 +83,11 @@ class Yuuki:
|
||||||
# LINE Login
|
# LINE Login
|
||||||
|
|
||||||
(self.client, self.listen) = self.Connect.connect()
|
(self.client, self.listen) = self.Connect.connect()
|
||||||
self.connectHeader = Yuuki_Connection.connectHeader
|
self.connectHeader = Yuuki_Settings.connectHeader
|
||||||
|
|
||||||
for access in self.YuukiConfigs["helper_LINE_ACCESS_KEYs"]:
|
if self.YuukiConfigs.get("helper_LINE_ACCESS_KEYs"):
|
||||||
self.Connect.helperConnect(access)
|
for access in self.YuukiConfigs["helper_LINE_ACCESS_KEYs"]:
|
||||||
|
self.Connect.helperConnect(access)
|
||||||
|
|
||||||
# Dynamic Variable
|
# Dynamic Variable
|
||||||
|
|
||||||
|
|
44
main.py
44
main.py
|
@ -6,54 +6,24 @@
|
||||||
This is a main program in SYB.
|
This is a main program in SYB.
|
||||||
It`s belong to Star Yuuki(pYthon) Bot Project of Star Neptune Bot
|
It`s belong to Star Yuuki(pYthon) Bot Project of Star Neptune Bot
|
||||||
|
|
||||||
Version: v6.5
|
Version: v6.5.3
|
||||||
|
|
||||||
Copyright(c) 2019 Star Inc. All Rights Reserved.
|
Copyright(c) 2020 Star Inc. All Rights Reserved.
|
||||||
The software licensed under Mozilla Public License Version 2.0
|
The software licensed under Mozilla Public License Version 2.0
|
||||||
"""
|
"""
|
||||||
|
|
||||||
Admin = [""]
|
from libs import Yuuki, Yuuki_Config
|
||||||
KickLimit = 10
|
|
||||||
CancelLimit = 10
|
|
||||||
Language = "en"
|
|
||||||
LINE_ACCESS_KEY = ""
|
|
||||||
GroupMebers_Demand = 100
|
|
||||||
helper_LINE_ACCESS_KEYs = []
|
|
||||||
|
|
||||||
########################Initializing##########################
|
########################Initializing##########################
|
||||||
from libs import *
|
|
||||||
|
|
||||||
Connection = Yuuki_Connection()
|
config = Yuuki_Config()
|
||||||
|
|
||||||
Connection.connectInfo = {
|
Console = Yuuki(config)
|
||||||
'Host': '',
|
|
||||||
'Command_Path': '',
|
|
||||||
'LongPoll_path': ''
|
|
||||||
}
|
|
||||||
|
|
||||||
Connection.connectHeader = {
|
|
||||||
'X-Line-Application': '',
|
|
||||||
'X-Line-Access': LINE_ACCESS_KEY,
|
|
||||||
'User-Agent': ''
|
|
||||||
}
|
|
||||||
|
|
||||||
Settings = Yuuki_Settings()
|
|
||||||
|
|
||||||
Settings.config["Seq"] = 0
|
|
||||||
Settings.config["Admin"] = Admin
|
|
||||||
Settings.config["SecurityService"] = True
|
|
||||||
Settings.config["Hour_KickLimit"] = KickLimit
|
|
||||||
Settings.config["Hour_CancelLimit"] = CancelLimit
|
|
||||||
Settings.config["Default_Language"] = Language
|
|
||||||
Settings.config["GroupMebers_Demand"] = GroupMebers_Demand
|
|
||||||
Settings.config["helper_LINE_ACCESS_KEYs"] = helper_LINE_ACCESS_KEYs
|
|
||||||
|
|
||||||
|
|
||||||
Console = Yuuki(Settings, Connection)
|
|
||||||
Console.cleanMyGroupInvitations()
|
Console.cleanMyGroupInvitations()
|
||||||
|
|
||||||
###########################Start!#############################
|
###########################Start!#############################
|
||||||
|
|
||||||
print("Star Yuuki BOT - Start Successful!")
|
print("Star Yuuki BOT - Start Successful!")
|
||||||
|
|
||||||
if __name__ == "__main__":
|
if __name__ == "__main__":
|
||||||
Console.Main()
|
Console.Main()
|
||||||
|
|
|
@ -7,6 +7,7 @@ chardet==3.0.4
|
||||||
gitdb2==2.0.6
|
gitdb2==2.0.6
|
||||||
GitPython==3.0.5
|
GitPython==3.0.5
|
||||||
idna==2.8
|
idna==2.8
|
||||||
|
PyYAML==5.3
|
||||||
requests==2.22.0
|
requests==2.22.0
|
||||||
six==1.14.0
|
six==1.14.0
|
||||||
smmap2==2.0.5
|
smmap2==2.0.5
|
||||||
|
|
Loading…
Reference in a new issue