fact_bot.py 文件源码

python
阅读 21 收藏 0 点赞 0 评论 0

项目:ManageSlack 作者: Nerrtica 项目源码 文件源码
def __init__(self, token, admin_name, default_path, bot_channel_name, notice_channel_name):
        self.token = token
        self.slacker = Slacker(self.token)
        self.default_path = default_path
        self.bot_channel_name = bot_channel_name
        self.bot_channel_id = [c_id['id'] for c_id in self.slacker.channels.list().body['channels']
                               if c_id['name'] == bot_channel_name[1:]][0]
        self.notice_channel_name = notice_channel_name
        self.notice_channel_id = [c_id['id'] for c_id in self.slacker.channels.list().body['channels']
                                  if c_id['name'] == notice_channel_name[1:]][0]
        self.ignore_channel_list = []
        self.load_ignore_channel_list()
        self.ignore_user_list = []
        self.load_ignore_user_list()
        self.id = self.slacker.auth.test().body['user_id']
        self.admin_id = self.get_user_id(admin_name)

        self.keywords = defaultdict(lambda: set())
        try:
            with open(self.default_path+'data/keyword_list.txt', 'r', encoding='utf-8') as f:
                keyword = 'NONE'
                for line in f.readlines():
                    line = line.strip()
                    if line[:10] == 'keyword : ':
                        keyword = line[10:]
                    elif line != '':
                        self.keywords[keyword].add(line)
        except FileNotFoundError:
            pass

        self.kingname_alias = dict()
        try:
            with open(self.default_path+'data/kingname_alias.txt', 'r', encoding='utf-8') as f:
                for line in f.readlines():
                    line = line.strip().split(maxsplit=1)
                    self.kingname_alias[line[0]] = line[1]
        except FileNotFoundError:
            pass

        self.slacking_dict = defaultdict(lambda: defaultdict(lambda: 0))
        self.statistics_dict = defaultdict(lambda: defaultdict(lambda: 0))

        self.commands = Commands(self.default_path+'commands.data')
        self.admin_commands = Commands(self.default_path+'admin_commands.data')
        self.hello_message = 'Factbot Start running!'
        self.error_message = 'Error Error <@%s>' % self.admin_id
        self.stop_message = 'Too many Error... <@%s>' % self.admin_id
        self.kill_message = 'Bye Bye!'
        self.spank_messages = ['?? ??', '??? ???', '???...', '<@%s> ?? ?? ? ???? ??' % self.admin_id,
                               '?? ??? ??? ????? ????...\n\n...?? ??? ??!']
        self.die_messages = [':innocent::gun:', '????', '?', '??? ?????', '????!',
                             ':overwatch_reaper: ???,, ?? ?? ????...']

        self.ALIVE = 0
        self.RESTART = 1
        self.DIE = 2
        self.status = self.ALIVE

        self.version = '1.4.10'
评论列表
文章目录


问题


面经


文章

微信
公众号

扫码关注公众号