Необходимо разработать модуль пересылки информации ботом
1 000 руб. за проект
•
наличный расчёт, безналичный расчёт, электронные деньги
Нужен питонист со знанием API Telegram Есть бот с клавиатурой в которой несколько сценариев
В зависимости от сценария пользователь выбирает вариант (в примере "завтрак" -- "легкий" -- "вопрос есть" -- "вопрос")
эту информацию должен получить другой пользователь (формат "пользователь 1" написал ........)
Пользователь 2 выбирает вариант ответа на вопрос (набирает это текстом + 3 варианта в виде клавиатуры), этой части пока в коде нет, тк не понимаю как переслать пользователю вторую клавиатуру вместе с данными (и клавиатура будет отличная от основной)
Далее ответ также переносится в диалог бота с пользователем 1
Еще мини вопрос: как получить id диалога с пользователем 2 чтобы пользователь 1 писал именно ему
Цена обсуждаема
Код:
import telebot
from telebot import types
import const
bot = telebot.TeleBot(const.API_TOKEN) #токен в отдельном файле, модно просто заменить
@bot.message_handler(commands=['start', 'help'])
def send_welcome(message):
bot.reply_to(message, "Привет Что хочешь поесть? \n\n Мануал ", reply_markup=markup_menu )
markup_menu = types.ReplyKeyboardMarkup (resize_keyboard=True, row_width=1)
btn_zavtrak= types.KeyboardButton ('Хочу позавтракать') #здесь в дальнейшем будут еще варианты, в зависимости от кнопки информация должна пересылаться разным людям (id чата заранее известны )
markup_menu.add( btn_zavtrak)
@bot.message_handler(func=lambda message: True)
def echo_all(message):
if message.text == "Хочу позавтракать":
bot.reply_to(message, 'Варианты завтраков', reply_markup=markup_zavtrak )
# bot.send_message(chat_id="841260346", text="Хочу позавтракать"). #попытка сделать пересыл информации при нажатии на опресненную кнопку определенному человеку (такой вариант не сработал )
if message.text == "Легкий":
bot.reply_to(message, 'Выбран легкий, есть вопросы?', reply_markup=markup_otvet)
# bot.send_message(chat_id="841260346", text="Легкий"). #id чата заменяем на свой
if message.text == "Вопросов нет":
bot.reply_to(message, 'Ваш запрос принят, обработка займет не более 5 мин')
# bot.send_message(chat_id="841260346", text="вопросов нет")
if message.text == "Есть вопрос":
bot.reply_to(message, 'Задайте ваш вопрос и нажмите завершить', reply_markup=markup_ok)
if message.text == "Завершить":
bot.reply_to(message, 'Ваш запрос принят, обработка займет не более 5 мин')
else:
msg = "Пользователь {} написал \"{}\".".format(message.from_user.username, message.text)
bot.send_message('841260346', msg)
# в итоге все свел в else но при таком раскладе получается что вся информация независимо от кнопок будет прилетать одному человеку
markup_zavtrak = types.ReplyKeyboardMarkup (resize_keyboard=True, row_width=3)
btn_legkii_zavtrak = types.KeyboardButton ('Легкий')
markup_zavtrak.add(btn_legkii_zavtrak)
markup_otvet = types.ReplyKeyboardMarkup()
btn_noq = types.KeyboardButton ('Вопросов нет')
btn_q = types.KeyboardButton ('Есть вопрос')
markup_otvet.add(btn_q,btn_noq )
markup_ok = types.ReplyKeyboardMarkup (resize_keyboard=True, row_width=1)
btn_ok= types.KeyboardButton ('Завершить')
markup_ok.add( btn_ok)
bot.polling()
В зависимости от сценария пользователь выбирает вариант (в примере "завтрак" -- "легкий" -- "вопрос есть" -- "вопрос")
эту информацию должен получить другой пользователь (формат "пользователь 1" написал ........)
Пользователь 2 выбирает вариант ответа на вопрос (набирает это текстом + 3 варианта в виде клавиатуры), этой части пока в коде нет, тк не понимаю как переслать пользователю вторую клавиатуру вместе с данными (и клавиатура будет отличная от основной)
Далее ответ также переносится в диалог бота с пользователем 1
Еще мини вопрос: как получить id диалога с пользователем 2 чтобы пользователь 1 писал именно ему
Цена обсуждаема
Код:
import telebot
from telebot import types
import const
bot = telebot.TeleBot(const.API_TOKEN) #токен в отдельном файле, модно просто заменить
@bot.message_handler(commands=['start', 'help'])
def send_welcome(message):
bot.reply_to(message, "Привет Что хочешь поесть? \n\n Мануал ", reply_markup=markup_menu )
markup_menu = types.ReplyKeyboardMarkup (resize_keyboard=True, row_width=1)
btn_zavtrak= types.KeyboardButton ('Хочу позавтракать') #здесь в дальнейшем будут еще варианты, в зависимости от кнопки информация должна пересылаться разным людям (id чата заранее известны )
markup_menu.add( btn_zavtrak)
@bot.message_handler(func=lambda message: True)
def echo_all(message):
if message.text == "Хочу позавтракать":
bot.reply_to(message, 'Варианты завтраков', reply_markup=markup_zavtrak )
# bot.send_message(chat_id="841260346", text="Хочу позавтракать"). #попытка сделать пересыл информации при нажатии на опресненную кнопку определенному человеку (такой вариант не сработал )
if message.text == "Легкий":
bot.reply_to(message, 'Выбран легкий, есть вопросы?', reply_markup=markup_otvet)
# bot.send_message(chat_id="841260346", text="Легкий"). #id чата заменяем на свой
if message.text == "Вопросов нет":
bot.reply_to(message, 'Ваш запрос принят, обработка займет не более 5 мин')
# bot.send_message(chat_id="841260346", text="вопросов нет")
if message.text == "Есть вопрос":
bot.reply_to(message, 'Задайте ваш вопрос и нажмите завершить', reply_markup=markup_ok)
if message.text == "Завершить":
bot.reply_to(message, 'Ваш запрос принят, обработка займет не более 5 мин')
else:
msg = "Пользователь {} написал \"{}\".".format(message.from_user.username, message.text)
bot.send_message('841260346', msg)
# в итоге все свел в else но при таком раскладе получается что вся информация независимо от кнопок будет прилетать одному человеку
markup_zavtrak = types.ReplyKeyboardMarkup (resize_keyboard=True, row_width=3)
btn_legkii_zavtrak = types.KeyboardButton ('Легкий')
markup_zavtrak.add(btn_legkii_zavtrak)
markup_otvet = types.ReplyKeyboardMarkup()
btn_noq = types.KeyboardButton ('Вопросов нет')
btn_q = types.KeyboardButton ('Есть вопрос')
markup_otvet.add(btn_q,btn_noq )
markup_ok = types.ReplyKeyboardMarkup (resize_keyboard=True, row_width=1)
btn_ok= types.KeyboardButton ('Завершить')
markup_ok.add( btn_ok)
bot.polling()
В заказе есть исполнитель
При переводе заказа из архивного в актуальный, текущий исполнитель будет снят с задачи.
Выберите тип сделки
С безопасной сделкой вы всегда сможете вернуть средства, если что-то пойдет не так. С простой сделкой вы самостоятельно договариваетесь с исполнителем об оплате и берете на себя решение конфликтов.