GRPUI
@GRPUI

Как сделать так, чтобы бот обрабатывал сообщения пользователя вызвавшего его команду и игнорировал сообщения остальных пользователей группы?

Нужно, чтобы бот работал с пользователем написавшим "!создать клан" и игнорировал сообщения остальных пользователей в группе

import telebot
from telebot import types
from telebot import TeleBot

bot: TeleBot = telebot.TeleBot('токен')

clan_names = []

@bot.message_handler(content_types=['text'])
def get_text_messages(message):
    print(message.text)
    chat_id = message.chat.id
    if message.text == '!создать клан':
        if len(clan_names) < 6:
            chat_id = message.chat.id
            bot.send_message(message.chat.id, 'Назовите клан:', reply_to_message_id=message.message_id)
            bot.register_next_step_handler_by_chat_id(chat_id, get_name)
        elif len(clan_names) == 6:
            bot.send_message(message.chat.id, 'К сожалению, все слоты кланов заняты',
                             reply_to_message_id=message.message_id)

def get_name(message):
    chat_id1 = message.chat.id
    new_name = message.text
    bot.send_message(message.chat.id, new_name + ' - верное название?', reply_to_message_id=message.message_id)
    clan_names.append(new_name)
    print(clan_names)
    bot.register_next_step_handler_by_chat_id(chat_id1, accept)

def accept(message):
        if message.text == 'Да' or message.text == 'да':
            if len(clan_names) == 1:
                bot.send_message(message.chat.id, 'Клан ' + clan_names[0] + ' - успешно создан',
                                 reply_to_message_id=message.message_id)
                btn_1 = types.KeyboardButton(clan_names[0])
                markup_menu_1.add(btn_1)
            elif len(clan_names) == 2:
                bot.send_message(message.chat.id, 'Клан ' + clan_names[1] + ' - успешно создан',
                                 reply_to_message_id=message.message_id)
                btn_2 = types.KeyboardButton(clan_names[1])
                markup_menu_1.add(btn_2)
            elif len(clan_names) == 3:
                bot.send_message(message.chat.id, 'Клан ' + clan_names[2] + ' - успешно создан',
                                 reply_to_message_id=message.message_id)
                btn_3 = types.KeyboardButton(clan_names[2])
                markup_menu_1.add(btn_3)
            elif len(clan_names) == 4:
                bot.send_message(message.chat.id, 'Клан ' + clan_names[3] + ' - успешно создан',
                                 reply_to_message_id=message.message_id)
                btn_4 = types.KeyboardButton(clan_names[3])
                markup_menu_1.add(btn_4)
            elif len(clan_names) == 5:
                bot.send_message(message.chat.id, 'Клан ' + clan_names[4] + ' - успешно создан',
                                 reply_to_message_id=message.message_id)
                btn_5 = types.KeyboardButton(clan_names[4])
                markup_menu_1.add(btn_5)
            elif len(clan_names) == 6:
                bot.send_message(message.chat.id, 'Клан ' + clan_names[5] + ' - успешно создан',
                                 reply_to_message_id=message.message_id)
                btn_6 = types.KeyboardButton(clan_names[5])
                markup_menu_1.add(btn_6)
            idk.remove(message.from_user.id)
            print(idk)
            bot.register_next_step_handler_by_chat_id(chid, get_text_messages)

        elif message.text == 'Нет' or message.text == 'нет':
                if len(clan_names) == 1:
                    clan_names.remove(clan_names[0])
                    bot.send_message(message.chat.id, 'Начните с начала', reply_to_message_id=message.message_id)
                elif len(clan_names) == 2:
                    clan_names.remove(clan_names[1])
                    bot.send_message(message.chat.id, 'Начните с начала', reply_to_message_id=message.message_id)
                elif len(clan_names) == 3:
                    clan_names.remove(clan_names[2])
                    bot.send_message(message.chat.id, 'Начните с начала', reply_to_message_id=message.message_id)
                elif len(clan_names) == 4:
                    clan_names.remove(clan_names[3])
                    bot.send_message(message.chat.id, 'Начните с начала', reply_to_message_id=message.message_id)
                elif len(clan_names) == 5:
                    clan_names.remove(clan_names[4])
                    bot.send_message(message.chat.id, 'Начните с начала', reply_to_message_id=message.message_id)
                elif len(clan_names) == 6:
                    clan_names.remove(clan_names[5])
                    bot.send_message(message.chat.id, 'Начните с начала', reply_to_message_id=message.message_id)
            bot.register_next_step_handler_by_chat_id(chid, get_text_messages)
  • Вопрос задан
  • 649 просмотров
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы