Статья Создаем бота для Telegram

Spec122

Пользователь

Spec122

Пользователь
Статус
Оффлайн
Регистрация
11 Янв 2019
Сообщения
47
Реакции
24
В этой статье мы научимся Регистрировать бота в телеграмм и рассмотрим пример на Python.

Шаг 1 - Установка Python
Качаем и устанавливаем Python (
Пожалуйста, авторизуйтесь для просмотра ссылки.
)

Шаг 2 - Регистрация бота в Telegram
Теперь нам нужно создать своего бота
  1. Находим в телеграмме бота с никнеймом @BotFather и жмем Start
    htTl4TB.png
  2. Пишем боту команду /newbot и в следующем сообщение указываем имя нашего бота (На латинице)
  3. Указываем юзернейм для нашего бота, и в конце приписываем _bot
  4. В ответном сообщении, после слов "Use this token to access the HTTP API:" мы получаем наш API KEY, сохраняем его куда нибудь, вот что получил я 876712428:AAGbGfiQwxctX9PYuzu7c5c0Ofqz1dyaXIs
Шаг 3 - Приступим к разработке
  1. Заходим в CMD (Кнопка WIN и CMD в поиске)
  2. Прописываем следующую команду pip install python-telegram-bot --upgrade установив тем самым библиотеку для работы с телеграмм ботом
  3. Пользуясь любым удобным редактором, создаем файл с расширением .py
    lonRwJe.png
  4. Следующий код помещаем в наш файл
    Python:
    [*]import logging
    import telegram
    # from telegram.error import NetworkError, Unauthorized
    from time import sleep
    
    
    update_id = None
    
    
    def main():
        """Run the bot."""
        global update_id
        # Telegram Bot Authorization Token
        bot = telegram.Bot('876712428:AAGbGfiQwxctX9PYuzu7c5c0Ofqz1dyaXIs')
    
        # get the first pending update_id, this is so we can skip over it in case
        # we get an "Unauthorized" exception.
        try:
            update_id = bot.get_updates()[0].update_id
        except IndexError:
            update_id = None
    
        logging.basicConfig(format='%(asctime)s - %(name)s - %(levelname)s - %(message)s')
    
        while True:
            try:
                echo(bot)
            except NetworkError:
                sleep(1)
            except Unauthorized:
                # The user has removed or blocked the bot.
                update_id += 1
    
    
    def echo(bot):
        """Echo the message the user sent."""
        global update_id
        # Request updates after the last update_id
        for update in bot.get_updates(offset=update_id, timeout=10):
            update_id = update.update_id + 1
    
            if update.message:  # your bot can receive updates without messages
                # Reply to the message
                update.message.reply_text(update.message.text)
    
    
    if __name__ == '__main__':
        main()
    [*]
  5. на 14 строке bot = telegram.Bot('Токен') Заменяем на наш токен полученный во втором шаге, 4 пункте
  6. Рядом с нашим файлом создаем .bat со следующим содержимым "python имяфайла.py"
  7. Запускаем .bat
  8. Проверяем нашего бота, он должен повторять наши сообщения
    Rn3wnsk.png


На этом мини гайд можно завершить.
Если будет хоть какой нибудь интерес, покажу как делать более сложных ботов, опишу апи и некоторые фишки и научу писать библиотеку самостоятельно.



Пометка:
Для пользователей из России, если вы решили запускать бота у себя на ПК, вероятно ничего не выйдет без использования впн, так как сервера Telegram заблокированы.
 
Последнее редактирование:
  • Мне нравится
Реакции: Dust

Электрик

Интересующийся

Электрик

Интересующийся
Статус
Оффлайн
Регистрация
17 Ноя 2019
Сообщения
211
Реакции
0

thip76

Интересующийся

thip76

Интересующийся
Статус
Оффлайн
Регистрация
2 Май 2020
Сообщения
16
Реакции
5
отличный гайд интересуюсь созданием ботов, вотнапример хочу бота сделать для рассылки сообщений по чатам, можешь посоветовать, исходники или литературу? или гайд напиши))
 

Irval

Главный Модератор
Главный Модератор

Irval

Главный Модератор
Главный Модератор
Статус
Оффлайн
Регистрация
31 Май 2019
Сообщения
245
Реакции
84
отличный гайд интересуюсь созданием ботов, вотнапример хочу бота сделать для рассылки сообщений по чатам, можешь посоветовать, исходники или литературу? или гайд напиши))
Рассылка по чатам? Имеется ввиду отправление сообщений во все чаты, в которые приглашен бот, по команде?
 

thip76

Интересующийся

thip76

Интересующийся
Статус
Оффлайн
Регистрация
2 Май 2020
Сообщения
16
Реакции
5
Рассылка по чатам? Имеется ввиду отправление сообщений во все чаты, в которые приглашен бот, по команде?
Да, рассылка по открытым чатам в которые приглашен или вступил бот, без прав админа, с интервалом например через каждые 2 часа, чтоб рассылку делал по чатам из списка, сейчас вот смотрю конструкторы ботов но там рассылка в личку есть а рассылка в личку это дерьмо люди банят таких ушлепков кто их беспокоит шнягой своей а в чаты нормально
 

Irval

Главный Модератор
Главный Модератор

Irval

Главный Модератор
Главный Модератор
Статус
Оффлайн
Регистрация
31 Май 2019
Сообщения
245
Реакции
84
Да, рассылка по открытым чатам в которые приглашен или вступил бот, без прав админа, с интервалом например через каждые 2 часа, чтоб рассылку делал по чатам из списка, сейчас вот смотрю конструкторы ботов но там рассылка в личку есть а рассылка в личку это дерьмо люди банят таких ушлепков кто их беспокоит шнягой своей а в чаты нормально
Скоро напишу статью об этом, жди)
 

thip76

Интересующийся

thip76

Интересующийся
Статус
Оффлайн
Регистрация
2 Май 2020
Сообщения
16
Реакции
5
1589173028316.png
1589173235271.png
Что то не запустился
 

Irval

Главный Модератор
Главный Модератор

Irval

Главный Модератор
Главный Модератор
Статус
Оффлайн
Регистрация
31 Май 2019
Сообщения
245
Реакции
84

AliEX

Новичок

AliEX

Новичок
Статус
Оффлайн
Регистрация
16 Май 2020
Сообщения
2
Реакции
1
Вместо вписывания токена на 14 строке всё можно было произвести с помощью вписывания команды с токеном в начало кода или копированием 14 строки в config.py, а в начале кода from config import bot
 

Irval

Главный Модератор
Главный Модератор

Irval

Главный Модератор
Главный Модератор
Статус
Оффлайн
Регистрация
31 Май 2019
Сообщения
245
Реакции
84
Вместо вписывания токена на 14 строке всё можно было произвести с помощью вписывания команды с токеном в начало кода или копированием 14 строки в config.py, а в начале кода from config import bot
Особого смысла в этом нет, да и экономии строк кода также не будет :dntknw:
 

Ellusion

Пользователь

Ellusion

Пользователь
Статус
Оффлайн
Регистрация
2 Ноя 2019
Сообщения
137
Реакции
7
На самом дешевом дедике бот держать можно?
 

Irval

Главный Модератор
Главный Модератор

Irval

Главный Модератор
Главный Модератор
Статус
Оффлайн
Регистрация
31 Май 2019
Сообщения
245
Реакции
84

Ellusion

Пользователь

Ellusion

Пользователь
Статус
Оффлайн
Регистрация
2 Ноя 2019
Сообщения
137
Реакции
7
Можно, он не будет сжирать много ресурсов, если ботом пользуется не слишком большое количество человек
Под не слишком большим кол-вом человек вы подразумеваете сколько?
Для кого-то 100 уже много, а для кого-то 10.000 ещё мало
 

Irval

Главный Модератор
Главный Модератор

Irval

Главный Модератор
Главный Модератор
Статус
Оффлайн
Регистрация
31 Май 2019
Сообщения
245
Реакции
84
Сверху