• 15 апреля стартует «Курс «SQL-injection Master» ©» от команды The Codeby

    За 3 месяца вы пройдете путь от начальных навыков работы с SQL-запросами к базам данных до продвинутых техник. Научитесь находить уязвимости связанные с базами данных, и внедрять произвольный SQL-код в уязвимые приложения.

    На последнюю неделю приходится экзамен, где нужно будет показать свои навыки, взломав ряд уязвимых учебных сайтов, и добыть флаги. Успешно сдавшие экзамен получат сертификат.

    Запись на курс до 25 апреля. Получить промодоступ ...

Проблема Бот, который перенаправляет сообщения определенным пользователям, в зависимости от введенных данных

20.02.2021
1
0
BIT
0
Добрый день всем участникам форума!
Я совсем новичок, в программирование (5 дней отроду), решил создать телеграмм-бота для решения бизнес задачи. Все,что читал на форуме с примерами клеил в свой файл. Отдельно первая и вторая часть работает. а вот вместе не хочет. Помогите пожалуйста разобраться. Идея заключается в следующем: Есть у меня продавцы-представители, которые торгуют моим товаром через интернет. Я каждому присвоил номер купона, по которому им начисляется заработок в случае его применения покупателями(это я вижу в админ панеле сайта). В телеграмм- чат у меня приходят все заказы.При применении купона, покупателем в заказе появляется строка (номер купона) и это видит бот, который подключен к этому чату(всех поступающих заказов)Задача: Чтобы тем моим представителям, которые установили себе этот бот и ввели в него номер своего купона каждый раз приходило сообщение о заказе(естевственно не все заказы, а только по примененному их купону)) Как-то так. Отдельно две части работают а вместе происходит какой-то сбой. Я в коде написал комментарии, как я это вижу. Буду признателен за помощь!

token = '1631839367:AAHquz8GDUSsNRjNy09M3o4JRbVIEYhTmeM'
import telebot
from telebot import types

bot = telebot.TeleBot(token)

admin = '956888599' # Администратор, которому будут дублироватся заказы с приминением купона

chatID = '-1001309959811' #Чат где этот бот следит за общими заказами с сайта

kupon = '' # Номер купона который доллжен ввести представитель, чтобы получать уведомления о его применении в заказе


@bot.message_handler(commands=["start"])
def cmd_start(message):
bot.send_message(message.chat.id, "Привет, " + str(message.from_user.first_name)
+ "! " +
" Я БОТ. Чтобы получать информацию о заказах с использованием твоего купона, отправь сейчас номер твоего купона в этот чат. Укажи правильно 6 цифр, которые тебе присвоил администратор")

@bot.message_handler(content_types=['text'])

def get_kupon(message):
bot.register_next_step_handler(message, get_kupon)
global kupon;
kupon = message.text;
bot.send_message(message.from_user.id, "Твой купон " + kupon +" Теперь когда по твоему купону будет произведена покупка, в этот чат прийдет информация об этом.")

#Вот тут начинается капец

@bot.message_handler(func=lambda message: kupon in message.text.lower(), content_types=["text"]) #Когда в чат прийдет сообщшение, содержащее цифры именно этого купона(который ввел данный пользователь) и бот это увидит, должна запустится эта цепочка, но она не запускается
def checkbot_text(message):


bot.send_message(from_user.id, "По Вашему купону произведена покупка!" + message.text[:42]) # Тут представителю должно прийти сообщение(первые 42 символа с заказа сайта из чата) о приминении купона

bot.forward_message(admin, chatID, message.message_id) # Дублирование целого сообщения администратору

# Я так понимаю, что бот запутался и не понимает какое сообщение ему пересылать и в каком сообщении искать купон

if __name__ == '__main__':
bot.polling(none_stop = True)
 
Мы в соцсетях:

Обучение наступательной кибербезопасности в игровой форме. Начать игру!