Как можно открыть код в телеграмм боте?(Что бы он открывался в телеграмме, а не в 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 шт):
Вот код минимального телеграмм бота.
Для начала нужно зарегистрировать бота.
- В телеграмме ищем бота с именем BotFather (отец ботов)
- И пишем ему
/start - Далее
/newbot - Он попросит нас придумать боту имя и логин
- Много много раз он будет говорить что этот логин уже занят
- И в конце выдаст нам токен нашего бота.
Выглядит токен как то так:
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
Радуйся победе.