Задать вопрос
dushu_pitona
@dushu_pitona

Почему не работает(ничего не выводит) эта программа?

import telebot
from telebot import types

API_TOKEN = 'XXX'

bot = telebot.TeleBot(API_TOKEN)

name = ''
@bot.message_handler(commands=['start'])
def start(message):
    klava = types.ReplyKeyboardMarkup()
    button1 = types.KeyboardButton('Разрывной')
    button2 = types.KeyboardButton('С4')
    button3 = types.KeyboardButton('Ракета')
    button4 = types.KeyboardButton('Связка бобовых гранат')
    button5 = types.KeyboardButton('Бобовая граната')
    button6 = types.KeyboardButton('/start')
  #
    klava.row(button1, button2)
    klava.row(button3, button4)
    klava.row(button5, button6)
  #
    bot.send_message(message.chat.id, 'Чем будешь рейдить?', reply_markup=klava)
def get_chem(mesage):
    global name
    name=message.text
bot.polling()
print(name)

p.s. Новичок в Python
Спасибо
  • Вопрос задан
  • 89 просмотров
Подписаться 1 Простой 1 комментарий
Решения вопроса 2
AlexNest
@AlexNest Куратор тега Python
Работаю с Python/Django
Давайте включим логику:
name = '' # ПУСТАЯ строка
...
bot.polling() # бесконечный цикл
print(name) # Функция печати ПУСТОЙ строки

Если под "выводом" вы имели ввиду печать, то я привел как минимум две причины, по которой этого не будет.
Ответ написан
Комментировать
mallo_c
@mallo_c
Зачем я изучил VBS???
bot.polling() не возвращает управление в программу, т.е. всё, что после bot.polling(), не выполнится. Обработчик можно добавить в get_chem(), не выполнится.
Т.е.:
def get_chem(mesage):
    global name
    name=message.text
+   print(name)
Ответ написан
Комментировать
Пригласить эксперта
Ваш ответ на вопрос

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

Похожие вопросы