@SaQu

Телеграм бот на Пайтоне не воспринимает условия ,как решить проблему?

Создав новую функцию для чат бота в телеграме, связаную с поиском ,с помощью встроенной в Пайтон википедией,при нажатии кнопки что бы начать скрипт у меня ничего не показывается в чате телеграмма.Как правильно прописать условие чтобы всё работало и при нажатии кнопки да начинается мини приложение?(Начало условия с функции wiki_app_start)
вот код
def wiki_app(message):
global wiki_found, count
wiki_found.clear()
answer = f'Приветствую вас в мини-приложении "Википедия"!\n' \
f'В этом прриложении вы можете найти что-либо вам нужное на самом большом поисковом серивисе мира!\n' \
f'Для этого нажмите кнопку старт!\n'
for i in range(int(1)):

markup = telebot.types.InlineKeyboardMarkup(row_width=2)
wiki_yes = telebot.types.InlineKeyboardButton(text='Да ✔', callback_data='wiki_yes')
wiki_no = telebot.types.InlineKeyboardButton(text='Нет ✖', callback_data='wiki_no')
markup.add(wiki_no, wiki_yes)
message.text = message.text.strip
bot.send_message(chat_id=message.chat.id, text=answer, reply_markup=markup)
time.sleep(1)

def wiki_app_start(message):
if message.chat == 'wiki_yes':
bot.send_message(chat_id=message.chat.id, text='Мини приложение запускается...')
time.sleep(1.6)
answer = f'Напишите сюда,то что нужно найти в Википедии!'
bot.send_message(chat_id=message.chat.id, text=answer)
wiki_found = message.text
wikipedia.set_lang('ru')
already_fonding = wikipedia.search(wiki_found)
bot.send_message(chat_id=message.chat.id, text=already_fonding)
elif message.chat == 'wiki_no':
game_menu(message)
/blockquote>
  • Вопрос задан
  • 71 просмотр
Пригласить эксперта
Ответы на вопрос 1
@TKDBOT
Учу python. Готов к конструктивной критике.
Вот так должно работать, но к твоему проекту есть много вопросов.
Пример кода
def wiki_app(message):
    #Старайся не использовать глобальные переменные
    global wiki_found, count
    wiki_found.clear()
    answer = 'Приветствую вас в мини-приложении "Википедия"!\n' \
    'В этом приложении вы можете найти что-либо вам нужное на самом большом поисковом сервисе мира!\n' \
    'Для этого нажмите кнопку старт!'
    markup = telebot.types.InlineKeyboardMarkup(row_width=2)
    wiki_yes = telebot.types.InlineKeyboardButton(text='Да ✔', callback_data='wiki_yes')
    wiki_no = telebot.types.InlineKeyboardButton(text='Нет ✖', callback_data='wiki_no')
    markup.add(wiki_no, wiki_yes)
    #Что конкретно происходит в этой строке??
    #message.text = message.text.strip
    bot.send_message(chat_id=message.chat.id, text=answer, reply_markup=markup)

@bot.callback_query_handler(func=lambda call: True)
def wiki_app_start(call):
    chat_id = call.message.chat.id
    data = call.data
    if data == 'wiki_yes':
        bot.send_message(chat_id, text='Мини приложение запускается...')
    time.sleep(1.6)
    mes = bot.send_message(chat_id, text='Напишите сюда,то что нужно найти в Википедии!')
    #Передаем сообщение юзера в другую функцию
    bot.register_next_step_handler(mes, search) 
    elif data == 'wiki_no':
        bot.send_message(chat_id, text='Отмена поиска.')
        #game_menu(message) #Неизвестно где эта функция и что она делает

def search(message):
    wiki_found = message.text
    wikipedia.set_lang('ru')
    already_fonding = wikipedia.search(wiki_found)
    bot.send_message(chat_id=message.chat.id, text=already_fonding)

Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы
04 мая 2024, в 05:49
10000 руб./за проект
04 мая 2024, в 03:57
10000 руб./за проект
04 мая 2024, в 01:47
2000 руб./за проект