Пишу телеграм бота на aiogram, в функции callback_error, при каждом ответе на callback_data, надо чтобы бот отсылал сообщение пользователя мне в чат
from aiogram import Bot, Dispatcher, executor, types
import os
from aiogram.dispatcher.filters.state import StatesGroup, State
from aiogram.utils import callback_data
from auth_data import token, support_id
from aiogram.types import InlineKeyboardButton, InlineKeyboardMarkup, User
bot = Bot(token, parse_mode=types.ParseMode.HTML)
dp = Dispatcher(bot)
ikb = InlineKeyboardMarkup(row_width=2)
ib1 = InlineKeyboardButton(text='Сообщить о проблеме', callback_data="Error")
ib2 = InlineKeyboardButton(text='Предложить свою идею', callback_data="Idea")
ikb.add(ib1).add(ib2)
@dp.message_handler(commands='start')
async def start(message: types.Message):
start_buttons = ['Отслеживание скидок', 'Обратная связь', 'Список команд']
keyboard = types.ReplyKeyboardMarkup(resize_keyboard=True)
keyboard.add(*start_buttons)
await bot.send_message(message.from_user.id, f'Привет, спасибо за использование нашего бота! Его работа заключается в том, что он отслеживает скидочные цены на платформе Steam и отсылает уведомления пользователям, если на интересующие их игры действует скидка. Если вы найдете ошибки при пользовании или вам на ум придет интересная идея для воплощения в этом боте, то используйте обратную свзяь, чтобы помочь дальнешей разработке бота. Спасибо, что выбираете именно нас, приятного пользования!', reply_markup=keyboard)
@dp.message_handler(lambda message: message.text == "Список команд")
@dp.message_handler(commands='help')
async def get_help(message: types.Message):
await bot.send_message(message.from_user.id,
"Вот список всех команд:\n"
"/start - начало работы\n"
"/help - список команд\n"
"/feedback - обратная связь\n"
"/list - список отслеживаемых игр\n"
)
@dp.message_handler(lambda message: message.text == "Обратная связь")
@dp.message_handler(commands='feedback')
async def feedback(message: types.Message):
await bot.send_message(message.from_user.id, text='Выберите о чем вы хотите написать', reply_markup=ikb)
@dp.message_handler(lambda message: message.text == "Отслеживание скидок")
@dp.message_handler(commands='list')
async def feedback(message: types.Message):
await bot.send_message(message.from_user.id, text='Пока не работает, ждите😡😡😡')
@dp.callback_query_handler()
async def callback_error(callback: types.CallbackQuery):
if callback.data == "Error":
await bot.delete_message(callback.from_user.id, callback.message.message_id)
await bot.send_message(callback.from_user.id, text="Опишите пожалуйста проблему как можно подробнее, чтобы мы решили ее как можно быстрее!")
elif callback.data == "Idea":
await bot.delete_message(callback.from_user.id, callback.message.message_id)
await bot.send_message(callback.from_user.id, text="Мы всегда рады новым интересным предложениям, внимательно слушаем вас!)")
print("Я запустился")
def main():
executor.start_polling(dp)
if __name__ == '__main__':
main()
Источник: Stack Overflow на русском