Ejemplo n.º 1
0
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)
Ejemplo n.º 2
0
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')
Ejemplo n.º 3
0
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
Ejemplo n.º 4
0
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()