Как можно открыть код в телеграмм боте?(Что бы он открывался в телеграмме, а не в cmd.)

Я недавно начал изучать Python и pyTelegramBotAPI. Я написал код для бота, и хочу в него поместить код в кастомную клавиатуру, любой, например:

year = int(input())   #определяющий високосность года
def year1(year):
    if year % 4 == 0 and year % 100 != 0 or year % 400 == 0:
        return(True)
    else:
        return(False)
print(year1(year))

Но ввод года и ответ, соответственно остаются в командной строке. Как это можно реализовать в Telegram? Спасибо. Если моя проблема не понятна, я попробую объяснить).


Ответы (1 шт):

Автор решения: NEWME0

Вот код минимального телеграмм бота.

Для начала нужно зарегистрировать бота.

  1. В телеграмме ищем бота с именем BotFather (отец ботов)
  2. И пишем ему /start
  3. Далее /newbot
  4. Он попросит нас придумать боту имя и логин
  5. Много много раз он будет говорить что этот логин уже занят
  6. И в конце выдаст нам токен нашего бота.

Выглядит токен как то так:

0123465789:aLAKSJDHFOASBDFOB_ASD787bd-fkjfasd

Далее устанавливаем нужный модуль

pip install pytelegrambotapi

А это записываем в файл main.py


from telebot import TeleBot


# Замени эту строку своим токеном
TOKEN = '0123465789:aLAKSJDHFOASBDFOB_ASD787bd-fkjfasd'


# Создаём бота
bot = TeleBot(TOKEN)


# Эта функция будет вызвана если написать боту
# /visokosnii 2020
@bot.message_handler(command='visokosnii')
def command_visokosnii(message):
    # Здесь мы достаём из текста сообшения год
    year = message.text.split()[-1]
    year = int(year)

    # Здесь выполняем вычисления
    # ...

    # Здесь мы пишем ответ в тот же чат
    chat_id = message.chat.id
    bot.send_message(chat_id, 'Da on visokosnii')


# Этой строкой мы запускаем бота
bot.polling()

Не забываем запустить наш скрипт

python main.py

Теперь, в том же сообщений где BotFather дал нам токен есть ссылка типа

t.me/логин_твоего_бота

Нажми на неё и ты должен попасть в чат к своему боту.

Нажми кнопку start

А потом напиши /visokosnii 2020

Радуйся победе.

→ Ссылка