예제 #1
0
 def __init__(self, bot, token, db_url, lang):
     self.token = token
     self.bot_api = bot.bot_api
     self.db_url = db_url
     self.lang = lang
     self.dao = db.Dao(db_url)
     self.bot = bot
     self.logger = logging.getLogger('WitMessageController')
     self.client = self.init_wit_client()
예제 #2
0
 def __init__(self, db_url, backend_url=COSCUP_BACKEND_URL):
     self.backend_url = backend_url
     self.dao = db.Dao(db_url)
     self.programs = None
     self.rooms = None
     self.program_type = None
     self.sponsors = None
     self.levels = None
     self.transport = None
     self.staffs = None
     self.booths = None
     self.load_db_to_cache()
예제 #3
0
    def __init__(self, bot, db_url, lang):
        self.bot = bot
        self.bot_api = bot.bot_api
        self.dao = db.Dao(db_url)
        self.lang = lang
        self.action_commands = {
            '/login': self.boot_action,
            '/start': self.boot_action,
            '/boot': self.boot_action,
        }

        self.language_pack = {
            '中文': model.LanguageCode.zh_tw,
            'zh-TW': model.LanguageCode.zh_tw,
            'zh-tw': model.LanguageCode.zh_tw,
            'zh': model.LanguageCode.zh_tw,
            'TW': model.LanguageCode.zh_tw,
            'tw': model.LanguageCode.zh_tw,
            'Chinese': model.LanguageCode.zh_tw,
            'chinese': model.LanguageCode.zh_tw,
            'CHINESE': model.LanguageCode.zh_tw,
            'mandarin': model.LanguageCode.zh_tw,
            'Mandarin': model.LanguageCode.zh_tw,
            '英文': model.LanguageCode.en_us,
            'English': model.LanguageCode.en_us,
            'ENGLISH': model.LanguageCode.en_us,
            'english': model.LanguageCode.en_us,
            'en': model.LanguageCode.en_us,
            'en-US': model.LanguageCode.en_us,
            'en-us': model.LanguageCode.en_us,
            'EN': model.LanguageCode.en_us,
        }

        self.bool_pack = {
            '好': True,
            '好啊': True,
            '可以': True,
            '可': True,
            'Yes': True,
            'YES': True,
            'yes': True,
            'Y': True,
            'y': True,
            '不': False,
            '不用': False,
            'No': False,
            'NO': False,
            'no': False,
            'N': False,
            'n': False,
        }
예제 #4
0
 def __init__(self, bot_type, credentials, sheet_credentials, wit_tokens, db_url='redis://localhost:6379',
              num_thread=4):
     self.bot_api = api.LineApi(bot_type, credentials)
     self.logger = logging.getLogger('CoscupBot')
     self.task_pool = ThreadPoolExecutor(num_thread)
     self.db_url = db_url
     self.dao = db.Dao(db_url)
     self.dao.del_all_next_command()
     self.dao.del_all_context()
     self.dao.del_all_session()
     self.nlp_message_controllers = self.gen_nlp_message_controllers(wit_tokens)
     self.command_message_controllers = self.gen_command_message_controllers(
         [LanguageCode.zh_tw, LanguageCode.en_us])
     self.sheet_message_controller = modules.SheetMessageController(db_url, sheet_credentials['credential_path'],
                                                                    sheet_credentials['name'], self)
     self.__mq_conn_pool = redis.ConnectionPool.from_url(url=db_url)
     self.edison_queue = utils.RedisQueue('edison', 'queue', connection_pool=self.__mq_conn_pool)
     self.realtime_msg_queue = utils.RedisQueue('realmessage', 'queue', connection_pool=self.__mq_conn_pool)
     self.job_scheduler = BackgroundScheduler()
     self.coscup_api_helper = modules.CoscupInfoHelper(db_url)
     self.start_scheduler()
     self.next_step_dic = {}
     self.take_photo_sec = 6
예제 #5
0
def get_dao():
    return db.Dao(REDIS_URL)
예제 #6
0
 def __init__(self, db_url, credential_path, spreadsheet_name, bot):
     self.dao = db.Dao(db_url)
     self.bot = bot
     self.credential_path = credential_path
     self.spreadsheet_name = spreadsheet_name