Иван Стуров
New member
Добрый день всем участникам форума!
Я совсем новичок, в программирование (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)
Я совсем новичок, в программирование (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)