{"id":14252,"url":"\/distributions\/14252\/click?bit=1&hash=6dd736497be6f4b5df84f9b826d7f3d8b3ea195a64e74fa302e414535ad9c574","title":"\u041c\u0430\u0442\u0435\u0440\u0438\u0430\u043b \u0434\u043b\u044f \u0442\u0435\u0445, \u043a\u043e\u043c\u0443 \u043d\u0430\u0434\u043e\u0435\u043b\u043e \u0441\u043b\u0443\u0448\u0430\u0442\u044c: \u00ab\u0410 \u0443 \u0432\u0430\u0441 \u0441\u0434\u0430\u0447\u0438 \u043d\u0435 \u0431\u0443\u0434\u0435\u0442\u00bb?","buttonText":"\u0427\u0438\u0442\u0430\u0442\u044c","imageUuid":"https:\/\/leonardo.osnova.io\/41ea37ba-b3c8-5bd8-9f5d-b05a52be8069\/"}

Улучшеный курс по созданию телеграм ботов

Хай,привет я думаю ты задумавался сделать телеграм бота,ну да потому что ты кликнул на эту статью.Пошли кодить.

Я буду использовать Telebot(PyTelegramBotApi) очень легкая библиотека:

pip install pyTelegramBotAPI

Теперь возмем Api ключ в телеграмме.Заходим в поиск и вбиваем @botFather(примерно так будет выглядить -->)

Берем в буфер ключ и идем в ide или где вы кодите:

import telebot token='6250404026:AAFC4KiaDmFcCw51gpToPeueN-Ug64HHzyk' bot=telebot.TeleBot(token) @bot.message_handler(commands=['start']) def start(message): bot.send_message(message.chat.id,'Привет') bot.polling()

Этот бот пишет привет.

После импорта , мы создали token и token передается в аргумент bot .После этого мы будем работать только с bot ,вот пример "@bot.message_handler(commands=['start'])"-это обработчик всех сообщений,но включается внизу код только если напишешь /start.Comands не одна настройка хэндлера.

import telebot token='6250404026:AAFC4KiaDmFcCw51gpToPeueN-Ug64HHzyk' bot=telebot.TeleBot(token) @bot.message_handler(content_types=['text']) def start(message): bot.send_message(message.chat.id,'Привет') bot.polling()

Теперь бот отвечает на все сообщения типа:текст.

"content_types=['text']" это настройка на то чтобы бот писал привет,если пользователь будет писать сообщение,но на фото,видео и аудио не будет отвечать.

Теперь добавим кнопки:

import telebot from telebot.types import InlineKeyboardButton,InlineKeyboardMarkup token='6250404026:AAFC4KiaDmFcCw51gpToPeueN-Ug64HHzyk' bot=telebot.TeleBot(token) @bot.message_handler(commands=['start']) def start(message): markup=InlineKeyboardMarkup(row_width=2) random=InlineKeyboardButton('Рандомное число',callback_data='random') comands=InlineKeyboardButton("Команды",callback_data='comands') markup.add(random,comands) bot.send_message(message.chat.id,'Выбери опцию.',reply_markup=markup) bot.polling()

types имеют:

  • InlineKeyboardButton
  • InlineKeyboardMarkup
  • ReplyKeyboardMarkup
  • KeyboardButton

Я использовал InlineKeyboardButton:

Markup это наша клавиатура содержит кнопки,у меня есть только две кнопки "Рандомное число","Команды".Их мы добавляем кнопки с помощью 'markup.add'.Теперь мы добавим reply_markup чтобы увидеть клавиатуру.

@bot.callback_query_handler(func=lambda call: True) def handle_button_press(call): if call.data == 'random': # Обработка нажатия кнопки "Рандомное число" random_number = random.randint(1, 100) bot.send_message(call.message.chat.id, f'Случайное число: {random_number}') elif call.data == 'commands': # Обработка нажатия кнопки "Команды" bot.send_message(call.message.chat.id, 'Список доступных команд:\n/start - Начало бота.')

Кнопки есть callback_data и это как id кнопки когда вы нажимаете на кнопку проверяются все callbackи на то что пользователь нажал на кнопку.

На этом я заканчиваю,если хотите продолжение напиши в коментарий и подпишись.Я же стараюсь.

0
Комментарии
-3 комментариев
Раскрывать всегда