Загрузка...

Подробный гайд для новичков Telegram ботов на Python [Number One]

Тема в разделе Статьи создана пользователем JavaScript 9 июл 2023. (поднята 5 окт 2024) 485 просмотров

  1. JavaScript
    JavaScript Автор темы 9 июл 2023 node.js 524 11 янв 2022
    Привет, в данной теме вам будет предоставлен самый наиподробнейший гайд для начинающих кодеров на Python

    Тема разделена на главы:
    • Создание самого бота в BotFather
    • Библиотеки
    • Обработка команда
    • Кнопки ReplyKeyboardMarkup()
    • Работа с принятием текста
    • Работа с if, else, elseif
    • Работа с конфигом

    Создание бота через BotFather
    1. Заходим в бота BotFather
    2. Пишем команду /newbot
    3. Вводим имя нашего бота
    4. После вводим UserName нашего бота (он обязательно должен заканчиваться на bot как пример возьмем: primerbot или primer_bot)
    5. Копируем токен который нам выдал бот: цифры:текст, затем заходим в нашего telegram бота (Сделать это можно введя в поле поиска наш юзернейм или же тыкнув на юзернейм который отправил нам BotFather)

    Библиотеки
    Вот мы и перешли к самому сладкому, програмирование
    Начинаем подключать библиотки​
    Python
    import telebot
    from telebot import types
    TOKEN='TOKEN'
    bot=telebot.TeleBot(TOKEN)
    Тут мы подключили биотеку telebot а затем импонтируем из этой библиотеки встроенную функцию кнопок
    Дальше подключаем нашего бота к коду

    Обработка команд
    И так, для начало пишем:​
    Python
    @bot.message_handler(commands=['start'])
    def start(message):
    bot.send_message(message.chat.id, 'Привет, выбери нужный вариант')
    В данном случаи наш бот будет реагировать на команду /start (то что дает нам сделать telegram при первом запуске бота) и создавать новую функцию старт. Мы обращаемся к боту (Самая первая переменная которая была зарегистрирована), дальше мы ему говорим send_message - отправь сообщение(Сообщение.в чат.пользователю с эти id, 'Наше сообщение')

    КНОПКИ
    В данном гайде мы разберем только один вид кнопок а именно Reply, есть еще кнопки Inline но кнопки Reply более простые и больше подходят для данного гайда
    В самом начале мы импонтировали кнопки, сейчас мы и будем их использовать

    создаем переменную:
    Python
    Markup=types.ReplyKeyboardMarkup()[/LEFT]
    MarkupOne=(types.KeyboardButton('Тема на LZT'))
    MarkupTwo=(types.KeyboardButton('Как получить авторку на статью LZT'))
    Тут мы подключаем переменную Markup затем создаем две кнопки одна будет говорить нам тему на LZT а вторая отправлять текст
    Что бы наши кнопки работали нам нужно их привязать к тесту, а конкртнее ввести:
    Python
    Markup.row(MarkupOne,MarkupTwo)
    , reply_markup=Markup
    Здесь мы привязываем кнопки к переменной Markup, теперь нам только остается привязать Переменную Markup к тексту для этого мы добовляем к тексту вот это:
    В нашем случае это:
    Python
    bot.send_message(message.chat.id, 'Привет, выбери нужный вариант', reply_markup=Markup)
    Все, теперь когда бот нам будет писать тот текст нам будут высвечиваться кнопки
    Работа с принятием текста & Работа с if, else, elseif
    Давайте дадим нашим кнопкам функционал для этого регистрируем новую переменную хандлер​

    Python
    @bot.message_handler(content_types='text')
    def text(message):
    Тут мы сделали так что бы весь текст который мы писали попадал сюда если первая хандлеровая переменная реагировала только на команды то эта на весь текст

    Давайте дадим задачу первой кнопке, для этого вводим:
    Python
    bot.send_message(message.chat.id, f'Вот ссылка на LZT {url}')
    предворительно создав переменную url
    Python
    url = 'http://zelenka.guru'
    буковка f перед ковычками означает что строка отформатирована то есть в ней есть переменные (Самый простой способ это обьяснить)
    для второй все анологично только не ставим букву f:
    Python
    bot.send_message(message.chat.id, 'Что бы получить авторку нам нужно:\nПридумать интересную и полезную стать\nОписать ее более понятным языком\nПодать заявление на авторскую статью')
    Здесь мы отправляем простой текст

    Full Code
    Python
    import telebot
    from telebot import types

    TOKEN='TOKEN'
    bot=telebot.TeleBot(TOKEN)
    url = 'http://zelenka.guru'

    Markup=types.ReplyKeyboardMarkup()
    MarkupOne=(types.KeyboardButton('Тема на LZT'))
    MarkupTwo=(types.KeyboardButton('Как получить авторку на статью LZT'))
    Markup.row(MarkupOne,MarkupTwo)
    @bot.message_handler(commands=['start'])
    def start(message):
    bot.send_message(message.chat.id, 'Привет, выбери нужный вариант', reply_markup=Markup)

    @bot.message_handler(content_types='text')
    def text(message):
    if message.text=="Тема на LZT":
    bot.send_message(message.chat.id, f'Вот ссылка на LZT {url}')
    if message.text=="Как получить авторку на статью LZT"
    bot.send_message(message.chat.id, 'Что бы получить авторку нам нужно:\nПридумать интересную и полезную стать\nОписать ее более понятным языком\nПодать заявление на авторскую статью')
    bot.polling()
    (Сорри что все почему то на одной строчке в кодах заметил после публикации в ближайшее время исправлю)
     
    Этот материал оказался полезным?
    Вы можете отблагодарить автора темы путем перевода средств на баланс
    Отблагодарить автора
    9 июл 2023 Изменено
  2. JavaScript
    JavaScript Автор темы 9 июл 2023 node.js 524 11 янв 2022
    Забыл добавить как использовать конфиг, завтра сделаю в след части
     
  3. Киана
    А теперь давай ты это добро напишешь на aiogram
     
    1. JavaScript Автор темы
      Киана, Ну я подумал что TeleBot для новичка легче
    2. Киана
  4. KoDi
    KoDi 9 июл 2023 770 16 фев 2021
    все в одном файле, как хауди учил
     
  5. Бабангида
    Бабангида 9 июл 2023 старина боб опять на бите 35 21 фев 2023
    Че то не очень, не нрав не нрав, это моё профессияональное мнение я все таки хакер а значит и программист это тебе не в тапки ссать
     
  6. makslu2011
    makslu2011 9 июл 2023 0 25 фев 2023
    Полезно, сделай свои курсы
     
Top
Загрузка...