Связать определенную функцию с кнопкой в Telegram-боте можно с помощью обработчика callback-запросов. У вас уже есть такой обработчик под названием `teh_callback`, который реагирует на нажатие кнопки `yomoneyy`.
Однако, чтобы вызвать функцию `func1`, когда пользователь нажимает на кнопку, вам нужно убедиться, что вы вызываете `func1` внутри `teh_callback` или вызываете `func1` непосредственно через другой обработчик или функцию, передавая в нее необходимый контекст.
Вот пример, как вы можете это сделать, изменив ваш код:
```python
from telebot import TeleBot, types
bot = TeleBot('YOUR_TELEGRAM_BOT_API_TOKEN')
# Обработчик сообщений
@bot.message_handler(content_types=['photo'])
def func1(message: types.Message):
if message.content_type == 'photo':
markup = types.ReplyKeyboardMarkup(resize_keyboard=True)
true_button = types.KeyboardButton("✅ Правильный")
false_button = types.KeyboardButton("❌ Я ошибся")
markup.add(true_button, false_button)
bot.send_message(
message.chat.id,
"❗️ Проверьте, правильный ли вы отправили скриншот.\n\n⚠️ После подтверждения данный скриншот будет отправлен на обработку оплаты.",
reply_markup=markup
)
# Обработчик callback-запросов
@bot.callback_query_handler(func=lambda call: True)
def teh_callback(call):
if call.data == 'yomoneyy':
bot.delete_message(call.message.chat.id, call.message.message_id)
bot.send_message(call.message.chat.id, f"Отправьте деньги по реквизитам на ⚜️ ...:\n♣️ Карта: <code>4000000000000000</code>\n\n<i>Получатель:</i> ...\n\nСумма к оплате: 999₽\nПолучаете: 999 G\n\nПосле оплаты, отправь сюда, в чат, скриншот оплаты.")
# Здесь мы вызываем функцию func1, отправив "пустое" сообщение для примера
bot.register_next_step_handler(
bot.send_message(call.message.chat.id, "Пожалуйста, отправьте ваш скриншот:"),
func1
)
@bot.message_handler(content_types=['text'])
def echo_all(message):
bot.reply_to(message, "Я вас не понимаю, пожалуйста, отправьте фото.")
bot.polling()
```
В этом примере мы используем функцию `bot.register_next_step_handler` для регистрации следующего шага (отправка фото) после того, как пользователь нажал на кнопку `yomoneyy`. После того, как пользователь отправит фото, оно будет обработано функцией `func1`.
Обратите внимание, что функция `func1` обрабатывает только сообщения с фотографиями. Убедитесь, что вы импортировали необходимые компоненты из библиотеки `telebot` и заменили `YOUR_TELEGRAM_BOT_API_TOKEN` на ваш токен API бота.