Загрузка...

A detailed guide for beginners of Telegram bots in Python [Number One]

Thread in Articles created by JavaScript Jul 9, 2023. (bumped Oct 5, 2024) 483 views

  1. JavaScript
    JavaScript Topic starter Jul 9, 2023 node.js 524 Jan 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()
    (Сорри что все почему то на одной строчке в кодах заметил после публикации в ближайшее время исправлю)
     
    This article was useful for you?
    You can thank the author of the topic by transferring funds to your balance
    Thank the author
  2. JavaScript
    JavaScript Topic starter Jul 9, 2023 node.js 524 Jan 11, 2022
    Забыл добавить как использовать конфиг, завтра сделаю в след части
     
  3. Киана
    Киана Jul 9, 2023 Реклама от Кианы - lolz.live/threads/7756293/
    А теперь давай ты это добро напишешь на aiogram
     
    1. JavaScript Topic starter
      Киана, Ну я подумал что TeleBot для новичка легче
    2. Киана
  4. KoDi
    KoDi Jul 9, 2023 770 Feb 16, 2021
    все в одном файле, как хауди учил
     
  5. Бабангида
    Бабангида Jul 9, 2023 старина боб опять на бите 35 Feb 21, 2023
    Че то не очень, не нрав не нрав, это моё профессияональное мнение я все таки хакер а значит и программист это тебе не в тапки ссать
     
  6. makslu2011
    makslu2011 Jul 9, 2023 0 Feb 25, 2023
    Полезно, сделай свои курсы
     
Top
Loading...