def connect_bot(): """ Make new bot with default parse mode to HTML and disabled web page preview Make Dispatcher with PGPersistence and set JobQueue Return value: (dispatcher, bot, job_queue) """ logger.info('Connecting bot...') new_bot = Bot(token=config.BOT_TOKEN, defaults=Defaults( disable_web_page_preview=True, parse_mode=ParseMode.HTML, )) jq = JobQueue() persistence = PGPersistence() dp = Dispatcher( bot=new_bot, update_queue=None, use_context=True, job_queue=jq, persistence=persistence, ) jq.set_dispatcher(dp) jq.start() logger.info('Bot connected successfully') return dp, new_bot, jq
def main(): mongoengine.connect(db=config.database.db, host=config.database.host, port=config.database.port, username=config.database.user, password=config.database.password) start_handler = CommandHandler('start', commands) dispatcher.add_handler(start_handler) help_handler = CommandHandler('help', commands) dispatcher.add_handler(help_handler) register_handler = CommandHandler('register', register) dispatcher.add_handler(register_handler) info_handler = CommandHandler('info', info) dispatcher.add_handler(info_handler) balance_handler = CommandHandler('balance', balance) dispatcher.add_handler(balance_handler) balance_prefix_handler = PrefixHandler(COMMAND_PREFIX, 'balance', balance) dispatcher.add_handler(balance_prefix_handler) withdraw_handler = CommandHandler('withdraw', withdraw) dispatcher.add_handler(withdraw_handler) transfer_handler = CommandHandler('transfer', transfer) dispatcher.add_handler(transfer_handler) transfer_prefix_handler = PrefixHandler(COMMAND_PREFIX, 'transfer', transfer) dispatcher.add_handler(transfer_prefix_handler) tip_handler = CommandHandler('tip', tip) dispatcher.add_handler(tip_handler) tip_prefix_handler = PrefixHandler(COMMAND_PREFIX, 'tip', tip) dispatcher.add_handler(tip_prefix_handler) outputs_handler = CommandHandler('outputs', outputs) dispatcher.add_handler(outputs_handler) optimize_handler = CommandHandler('optimize', optimize) dispatcher.add_handler(optimize_handler) dispatcher.add_error_handler(handle_errors) jobqueue = JobQueue() jobqueue.set_dispatcher(dispatcher) jobqueue.run_repeating(update_balance_wallets, config.wallet_balance_update_interval) jobqueue.start() updater.start_polling()
def test_job_run(self, _dp, use_context): _dp.use_context = use_context job_queue = JobQueue() job_queue.set_dispatcher(_dp) if use_context: job = job_queue.run_repeating(self.job_context_based_callback, 0.02, context=2) else: job = job_queue.run_repeating(self.job_run_once, 0.02, context=2) assert self.result == 0 job.run(_dp) assert self.result == 1
def main(): updater = Updater(token=FreeOnEpic.bot_token, use_context=True) dp = updater.dispatcher job_queue = JobQueue() job_queue.set_dispatcher(dp) job_queue.run_repeating(callback=FreeOnEpic.get_links, interval=600) logger.info('The bot has started') dp.add_handler(CommandHandler('freegame', FreeOnEpic.free_game)) dp.add_handler(CommandHandler("help", FreeOnEpic.help_command)) job_queue.start() updater.start_polling() updater.idle()
def test_default_tzinfo(self, _dp, tz_bot): # we're parametrizing this with two different UTC offsets to exclude the possibility # of an xpass when the test is run in a timezone with the same UTC offset jq = JobQueue() original_bot = _dp.bot _dp.bot = tz_bot jq.set_dispatcher(_dp) try: jq.start() when = dtm.datetime.now(tz_bot.defaults.tzinfo) + dtm.timedelta(seconds=0.0005) jq.run_once(self.job_run_once, when.time()) sleep(0.001) assert self.result == 1 jq.stop() finally: _dp.bot = original_bot
def main(): try: vk_session = vk_api.VkApi(token=settings.VK_ACCESS_TOKEN) vk = vk_session.get_api() job_queue = JobQueue(vk) job_queue.start() upload = VkUpload(vk_session) long_poll = VkBotLongPoll(vk_session, settings.VK_GROUP_ID) for event in long_poll.listen(): if event.type == VkBotEventType.MESSAGE_NEW: handle_message(vk, event, upload, job_queue) elif event.type == VkBotEventType.GROUP_JOIN: utils.send_referral_input(vk, event) elif event.type == VkBotEventType.GROUP_LEAVE: pass except Exception as exc: print(exc, file=sys.stderr) main()