@mirindanda

Как заставить бота отвечать только когда к нему обращаются?

Как сделать так, чтобы телеграм бот отвечал только когда к нему обращаются по ключевому слову, но просматривать всю переписку при этом?
  • Вопрос задан
  • 1820 просмотров
Пригласить эксперта
Ответы на вопрос 3
@pozner88
Что подразумевается под просматривать всю переписку?
Если необходимо сделать по ключевому слову то можно добавить либо хендлер на команду либо условие и на которое он должен реагировать.
Хендлер можно сделать подобным образом
@dp.message_handler(commands=['reg'])
    async def enter_reg(message: types.Message):
        await message.answer('Вы начали регистрацию в боте.\n'
                             'Укажите ваше имя')

По оправке /reg он напишет что началась регистрация.
Либо по конкретному слову
@dp.message_handler(content_types='text')
    async def new_message(message: types.Message):
        print(message.text)
        if message.text == 'привет':
            await bot.send_message(message.from_user.id, 'введено ключевое слово')

код написан под aiogram, для других библиотек можно будет переделать
Ответ написан
Комментировать
@Ryslan_13
from Ukreun
Просто напиши боту hello и он тебе ответит
но не забудь вписать токен

from aiogram import types, Dispatcher, executor, Bot

TOKEN = " "

bot = Bot(TOKEN)

dp = Dispatcher(bot)

@dp.message_handler(text='hello') # text='hello' Здесь укажи на какой текст должен отвечать бот
async def start(message: types.Message):
    await bot.send_message(message.chat.id,  'jojo')

if __name__ == '__main__':
    executor.start_polling(dp)


Единственное что я не понял что значит просматривать всю переписку
Ответ написан
из изложенного понял следующее, бота когда добавляешь в группу как админа он слушает все сообщения. Это может быть не удобно при переписке с другими в группе, так как бот вставляет свои 5 копеек на каждое пользовательское сообщение.
Ответ написан
Комментировать
Ваш ответ на вопрос

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

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