#python-3.x #telegram #telegram-bot #message #python-telegram-bot
Вопрос:
Я должен создать бота, который будет публиковать сообщения и кнопки в группе, а участники группы будут отвечать на эти кнопки в группе. Поэтому при запросе обратного вызова я показываю им предупреждающее сообщение,
И теперь я хочу отправить Личное сообщение каждому респонденту прямо в его почтовый ящик, а не в группу.
from telegram import InlineKeyboardButton, InlineKeyboardMarkup, Update, ReplyKeyboardMarkup
from telegram.ext import Updater, CommandHandler, CallbackQueryHandler, CallbackContext
def start(update: Update, context: CallbackContext) -> None:
"""Sends a message with three inline buttons attached."""
keyboard = [
[InlineKeyboardButton("opt_a", callback_data='A')],
[InlineKeyboardButton("opt_b", callback_data='B')],
[InlineKeyboardButton("opt_c", callback_data='C')],
]
reply_markup = InlineKeyboardMarkup(keyboard, resize_keyboard=False)
update.message.reply_text("Question: Please Select an Option", reply_markup=reply_markup)
def button(update: Update, context: CallbackContext) -> None:
"""Parses the CallbackQuery and show the alert."""
query = update.callback_query
query.answer(text=f"Thanks for responding", show_alert=True)
#############################################################
Chat_id = query.message.chat.id
То, что мне нужно сделать, находится в приведенной ниже строке кода
# Send_Private_Message(chat_id=Chat_id, message_text = "Text of the message will b here...")
Теперь здесь я хочу отправить Личное сообщение пользователю, который отвечает
на встроенную клавиатуру, я получил его идентификатор Чата здесь выше в переменной «Chat_id»,
но не смог найти способ отправить личное сообщение этому человеку по его «Chat_id».
updater = Updater("TOKEN")
updater.dispatcher.add_handler(CommandHandler('start', start))
updater.dispatcher.add_handler(CallbackQueryHandler(button))
# Start the Bot
updater.start_polling()
# Bot in Idle Position
updater.idle()
Ответ №1:
Вы можете использовать этот Bot.send_message
метод. экземпляр бота доступен как context.bot
. Обратите внимание, что (update.)message.reply_text
это всего лишь ярлык для send_message
😉
Отказ от ответственности: В настоящее время я являюсь сопровождающим python-telegram-bot