def self_kick_callback(bot, message): """ if bot gets kicked it erases all data for chat """ cid = get_cid(message) with db: chat = Chats.select().where(Chats.cid == cid) if chat.exists(): chat = chat.get() invited_by = chat.invited_by chat.delete_instance() tacos = Tacos.select().where(Tacos.chat == cid) if tacos.exists(): tacos.get().delete_instance() chat_title = message.chat.title try: bot.send_message(invited_by, data_deleted_phrase.format(chat_title), parse_mode='html') except Exception as e: """ user blocked the bot """ print(e)
def new_chat_callback(bot, message): """ triggers when bot gets added to new chat """ cid = get_cid(message) store_name(message.from_user) invited_by = message.from_user Chats.create(id=len(Chats.select()) + 1000, cid=cid, invited_by=invited_by.id) Tacos.create(id=len(Tacos.select()) + 1000, chat=cid) bot.send_message(cid, chat_enabled_phrase, parse_mode='html')
def self_kick_callback( update, context): # if bot gets kicked it erases all data for chat cid = get_cid(update) chat = Chats.select().where(Chats.cid == cid) if chat.exists(): chat = chat.get() invited_by = chat.invited_by tacos = Tacos.select().where(Tacos.chat == chat.id) if tacos.exists(): Tacos.get(Tacos.chat == chat.id).delete_instance() chat.delete_instance() try: chat_title = update.effective_message.chat.title context.bot.send_message(invited_by, data_deleted_phrase.format(chat_title), parse_mode=ParseMode.HTML) except Unauthorized: pass # user deleted bot or didnt /start it
def filter_new_chat_(_, query): # filter for group, that has tacos-field in DB with db: return Chats.select().where(Chats.cid == get_cid(query)).exists()