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

Не запускается бот. как запустить?

import telebot
import configure
from telebot import types

bot = telebot.TeleBot('1776373552:AAH4Xf1yOfCa80Lyq3QEkE4EUyMfGauvHBY')

@bot.message_handler(commands=['get_info', 'info'])
def get_user_id(message):
    markup_inline = types.InlineKeyboardMarkup()
    but_yes = types.InlineKeyboardButton(text='Да', callback_data='yes')
    but_no = types.InlineKeyboardButton(text='Нет', callback_data='no')

    markup_inline.add(but_yes, but_no)
    client.send_message(message.chat.id, 'Желаете узнать небольшую информацию о вас', reply_markup=markup_inline)

@bot.callback_query_handler(func = lambda call: True)
def answer(call):
    if call.data == 'yes':
        markup_reply = types.ReplyKeyboardMarkup(resize_keyboard=True)
        but_ID = types.KeyboardButton('МОЙ ID')
        but_username = types.KeyboardButton('МОЙ НИК')

        markup_reply.add(but_ID, but_username)
        client.send_message(call.message.chat.id, 'Нажмите на одну из кнопок', reply_markup=markup_reply)
    elif call.data == 'no':
        pass

@bot.message_handler(content_types=['text'])
def get_text(message):
    if message.text.lower() == 'привет':
        client.send_message(message.chat.id, 'Привет, неизвестный юзер!')
    elif message.text.lower() == 'как дела?':
        client.send_message(message.chat.id, 'Все хорошо, как у тебя?')


@bot.message_handler(content_types=['text'])
def get_text(message):
    if message.text() == 'МОЙ ID':
        client.send_message(message.chat.id, f'Your ID: {message.from_user.id}')
    elif message.text() == 'МОЙ НИК':
        client.send_message(message.chat.id, f'Your ID: {message.from_user.first_name}, {message.from_user.last_name}')

bot.polling()


код запускается без ошибок, но работать не хочет
  • Вопрос задан
  • 122 просмотра
Подписаться 1 Простой Комментировать
Решения вопроса 1
danila763
@danila763
Учу python, sql
Замените client.send_message на bot.send_message и проверьте токен, у меня работает
мой бот @danila763_bot, на нем сейчас ваш код, подержу минут 15 запущенным, проверьте

Ваш код, но рабочий

import telebot
# import configure
from telebot import types

bot = telebot.TeleBot(token)

@bot.message_handler(commands=['get_info', 'info'])
def get_user_id(message):
    markup_inline = types.InlineKeyboardMarkup()
    but_yes = types.InlineKeyboardButton(text='Да', callback_data='yes')
    but_no = types.InlineKeyboardButton(text='Нет', callback_data='no')

    markup_inline.add(but_yes, but_no)
    bot.send_message(message.chat.id, 'Желаете узнать небольшую информацию о вас', reply_markup=markup_inline)

@bot.callback_query_handler(func = lambda call: True)
def answer(call):
    if call.data == 'yes':
        markup_reply = types.ReplyKeyboardMarkup(resize_keyboard=True)
        but_ID = types.KeyboardButton('МОЙ ID')
        but_username = types.KeyboardButton('МОЙ НИК')

        markup_reply.add(but_ID, but_username)
        bot.send_message(call.message.chat.id, 'Нажмите на одну из кнопок', reply_markup=markup_reply)
    elif call.data == 'no':
        pass

@bot.message_handler(content_types=['text'])
def get_text(message):
    if message.text.lower() == 'привет':
        bot.send_message(message.chat.id, 'Привет, неизвестный юзер!')
    elif message.text.lower() == 'как дела?':
        bot.send_message(message.chat.id, 'Все хорошо, как у тебя?')


@bot.message_handler(content_types=['text'])
def get_text(message):
    if message.text() == 'МОЙ ID':
        bot.send_message(message.chat.id, f'Your ID: {message.from_user.id}')
    elif message.text() == 'МОЙ НИК':
        bot.send_message(message.chat.id, f'Your ID: {message.from_user.first_name}, {message.from_user.last_name}')

bot.polling()

Ответ написан
Пригласить эксперта
Ответы на вопрос 2
SoreMix
@SoreMix Куратор тега Python
yellow
1. Он не может запуститься, как сказали выше - переменная client не определена
2. Два одинаковых декоратора для двух функций с одинаковыми именами нужно убрать.
Ответ написан
@ZERRITO
Пустой ноль
Интересно, откуда у вас взялся client, если для работы используется переменная bot
P.S. Попробуйте заменить все client на bot
Ответ написан
Ваш ответ на вопрос

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

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