Что нового?

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

Spec122

Well-known member
Пользователь

Spec122

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

Шаг 1 - Установка Python
Качаем и устанавливаем Python (
You cant view this link please login.
)

Шаг 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

Электрик

Well-known member
Интересующийся

Электрик

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

thip76

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

thip76

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

Irval

Модератор форума
Модератор

Irval

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

thip76

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

thip76

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

Irval

Модератор форума
Модератор

Irval

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

thip76

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

thip76

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

Irval

Модератор форума
Модератор

Irval

Модератор форума
Модератор
Статус
Оффлайн
Регистрация
31 Май 2019
Сообщения
212
Реакции
87

poonlu

New member
Новичок

poonlu

New member
Новичок
Статус
Оффлайн
Регистрация
13 Май 2020
Сообщения
3
Реакции
2
Познавательно
 

AliEX

New member
Новичок

AliEX

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

Irval

Модератор форума
Модератор

Irval

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

AliEX

New member
Новичок

AliEX

New member
Новичок
Статус
Оффлайн
Регистрация
16 Май 2020
Сообщения
2
Реакции
1

Ellusion

Well-known member
Пользователь

Ellusion

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

thip76

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

thip76

Member
Интересующийся
Статус
Оффлайн
Регистрация
2 Май 2020
Сообщения
17
Реакции
5

Irval

Модератор форума
Модератор

Irval

Модератор форума
Модератор
Статус
Оффлайн
Регистрация
31 Май 2019
Сообщения
212
Реакции
87

Ellusion

Well-known member
Пользователь

Ellusion

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

Irval

Модератор форума
Модератор

Irval

Модератор форума
Модератор
Статус
Оффлайн
Регистрация
31 Май 2019
Сообщения
212
Реакции
87
Сверху