#!/usr/bin/python3 import os import time, threading, schedule from telebot import TeleBot from fortniteStatusWrapper import formatFortniteStatus from pythonFortniteStatus.FortniteStatus import * if "TELEBOT_BOT_TOKEN" not in os.environ: raise AssertionError("Please configure TELEBOT_BOT_TOKEN as environment variables") bot = TeleBot(os.environ["TELEBOT_BOT_TOKEN"]) fortniteStatus = FortniteStatus() @bot.message_handler(commands = ['start']) def startCommand(message): bot.reply_to(message, "This bot is doing nothing so far..") @bot.message_handler(commands = ['status']) def fortniteStatusCommand(message): bot.send_message( message.chat.id, formatFortniteStatus(fortniteStatus.getStatus()), parse_mode='MarkdownV2' ) #bot.polling(none_stop=True, interval=0) def beep(chat_id) -> None: """Send the beep message.""" bot.send_message(chat_id, text='Beep!') @bot.message_handler(commands=['set']) def set_timer(message): args = message.text.split() if len(args) > 1 and args[1].isdigit(): sec = int(args[1]) schedule.every(sec).seconds.do(beep, message.chat.id).tag(message.chat.id) else: bot.reply_to(message, 'Usage: /set ') @bot.message_handler(commands=['unset']) def unset_timer(message): schedule.clear(message.chat.id) if __name__ == '__main__': threading.Thread(target=bot.infinity_polling, name='bot_infinity_polling', daemon=True).start() while True: schedule.run_pending() time.sleep(1)