После использования handler с пересылом сообщения бот начинает пересылать все сообщения подряд
Пишу бота с помощью библиотеки telebot Нужно при получении от пользователя крипто кошелька переслать этот кошелек в канал:
@bot.message_handler(func = lambda message: message.text == 'кошелек')
def takeWal(message: types.Message):
if message.text == 'кошелек':
bot.forward_message(ChanID, message.chat.id, message.message_id)`
Однако, после того как он пересылает это сообщение в канал, он начинает пересылать туда все подряд:
@bot.message_handler(func = lambda message: message.text == 'кошелек')
def takeWal(message: types.Message):
if message.text == 'кошелек':
bot.forward_message(ChanID, message.chat.id, message.message_id)
@bot.message_handler(chat_types=['private'])
def wallet(message: types.Message):
btn_Yes = types.KeyboardButton("Да")
btn_No = types.KeyboardButton("Нет")
markup.add(btn_Yes, btn_No)
bot.send_message(message.chat.id, text="У вас будет ровно 1 час чтобы оплатить заявку. По"
" истечении 60 минут, сделка автоматически удаляется."
" Вы желаете продолжить?".format(message.from_user), reply_markup=markup)
Так, например, когда я нажимаю на кнопку Да, он пересылает ее в канал(то же самое он делает и с кнопкой Нет).
Как сделать так чтобы он пересылал только то, что нужно и не мешал выполнению остальной части программы?
Ответы (2 шт):
Автор решения: Abra_Kadabra
→ Ссылка
Попробуйте такое условие добавить
if len(k) == k.count(None):
if re.findall('кошелек', event.message.message):
pass
else:
bot.forward_message(ваш код)
Автор решения: q r t s
→ Ссылка
Я не до конца понял что Вы хотите реализовать, но попробуйте после отправки сообщения в нужный Вам чат закрыть доступ.
return
Примерно так:
@bot.message_handler(func = lambda message: message.text == 'кошелек')
def takeWal(message: types.Message):
if message.text == 'кошелек':
bot.forward_message(ChanID, message.chat.id, message.message_id)
return