October 5, 2023

Создание Telegram Bot

Вступление

Привет. Сегодня я покажу как писал этого элементарного Telegram бота для дизайнера. Я буду писать на Python используя библиотеку "pyTelegramBotAPI".

А бот будет выглядеть примерно так.

Создание бота и токена

Теперь мы должны перейти в бота BotFather что бы создать нашего бота. Вы указываете все что нужно и он Вам выдает токен, Вы его должны скопировать!

Если Вам лень искать этого бота: https://t.me/BotFather

Внимание

Токен от Вашего бота никому нельзя давать! Они смогут снести его за минуты.

Установка библиотек

Для начала мы должны установить библиотеку в проект, пишем в Терминал (cmd) данный текст:

pip install pyTelegramBotAPI

Код

Далее мы должны импортировать основу библиотеки и за одно команды для кнопки, пишем:

import telebot
from telebot import types

Теперь нам нужно авторизировать бота.

Пишем:

bot = telebot.TeleBot('TOKEN')

Вместо TOKEN, Вы должны вставить токен Вашего бота.

Первая команда

Создадим первую команду /start.

@bot.message_handler(commands=['start'])
def start(message):
    markup = types.InlineKeyboardMarkup(row_width=1) #Стиль
    item = types.InlineKeyboardButton('Телеграм канал 🦋', url='https://t.me/oveldesignch') #Кнопка ссылка
    item1 = types.InlineKeyboardButton('Сделать заказ 📝', callback_data='zak') #Кнопка с выводом текста
    item2 = types.InlineKeyboardButton('Прайс-лист 📋', callback_data='pra')
    markup.add(item, item1, item2) #Добавляем кнопки с сообщению
    mess = f'Здравствуйте, <b>{message.from_user.first_name}</b>!\nЭто бот дизайнера <b>Ovel Design</b>.\nВыберите нужную Вам кнопку снизу.'
    bot.send_message(chat_id=message.chat.id, text=mess, parse_mode='html', reply_markup=markup)

И вот у нас уже готово сообщение с кнопками!

Стиль, если что, это как будут располагаться Ваши кнопки, попробуйте 1 и 2.

Действия кнопок

Теперь давайте сделаем действие для этих кнопок.

@bot.callback_query_handler(func=lambda call:True)
def callback(call):
            if call.message:
                    if call.data == 'zak':
                                markup = types.InlineKeyboardMarkup(row_width=1) #Стиль
                                item3 = types.InlineKeyboardButton('Специальный бот 🤖', url='https://t.me/ovelzakazbot') #Кнопочка
                                bo = f"Что бы сделать заказ можете перейти в <b>специального бота</b>, через которого сможете связаться с дизайнером." #Текст
                                bot.send_message(call.message.chat.id, bo) #Отправка сообщения

В коде, у меня много этих кнопок, но я привел пример, просто так добавляйте каждую кнопку, НО вместо if call.data, используйте elif call.data, когда будете создавать действие для второй кнопки и больше.

Работа без остановки

Теперь что бы бот работал постоянно, а не выключался через секунду.

Внизу кода пишем:

bot.polling(none_stop=True)

Я надеюсь принцип работы вы поняли)

Связь с разработчиком:

Телеграм: http://t.me/vanya9809


Instagram: https://instagram.com/i_am_vanya_marti?igshid=OGQ5ZDc2ODk2ZA==