Как рассылать рекламу в Телеграм боте python

Предположим надо написать телеграмм бота, который при появлении свежей новости на сайте пишет в канал. Практическое применение для меня было в том, что на одном сайте изредка появляется важная информация, которую пропускать не хотелось, но и постоянно мониторить сайт тоже. В итоге захотелось написать максимально простой и минималистичный python скрипт, выполнющий задачу постинга в канал telegram и не использующий даже базу данных. Такая простота достигается следующим образом: по крону раз в сутки запускается программа, которая вытягивает все новости за вчерашний день. Непосредственно отправление сообщения в канал занимает 3 строчки, подробнее об этом конце, а сейчас разделим задачу на несколько логических последовательных подзадач:

  1. Отслеживание появления новости
    • 1.1 Запрос html страницы (использование бибиотеки requests)
    • 1.2 Парсинг html страницы (здесь будем использовать питон библиотеку BeautifulSoup)
    • 1.3 разбивка списка новостей на старые и новые публикации
    • Отправка сообщения в телеграм канал
      • 2.1 Создание канала а также бота с помощью BotFather и добавление бота в администраторы канала
      • 2.2 Выбор библиотеки и её инициализация с помощью токена telegram, полученного от все того же BotFather (в нашем случае это библиотека python-telegram-bot )
      • 2.3 Отправка сообщения.
      • Настройка обработчика cron
        • раз в сутки: «1 12 * * * /path/to/bot.py >/dev/null 2>http://zabaykin.ru/?p=443″ target=»_blank»]zabaykin.ru[/mask_link]

          Рассылка сообщений через Телеграм Бота | Python — Aiogram

          Создаем бот для сбора контента от подписчиков канала

          Создаем бот для сбора контента от подписчиков

          Как создать бот для сбора контента от подписчиков — рассказываю в сегодняшней статье. Разберу пошагово простой и доступный способ. Многие каналы собирают контент от подписчиков (новости, гифки, картинки, видео и пр.), а потом выкладывают лучшее в ленте своего сообщества. Например, известный канал Mash.

          Создаем бот для сбора контента от подписчиков

          Для этого создаются специальные боты. Туда подписчики присылают свой контент.

          Создаем бот для сбора контента от подписчиков

          Создать такой бот вполне возможно каждому на базе бесплатного конструктора умных чат-ботов Fleep.

          С помощью конструктора Fleep — возможно создавать боты для отложенных постов и умных чат-ботов под разные цели и задачи. Например для продажи товаров и услуг, создания современной тех. поддержки, сбора базы пользователей и проведения точечных рассылок.

          Создаем бот для сбора контента

          Создаем бот для сбора контента от подписчиков

          У официального бота присутствует галка подтверждения (осторожно, существуют фейки).

          2. После запуска бота, он выдает нам пост с возможными командами.

          Создаем бот для сбора контента от подписчиков

          3. Вводим команду /newbot и получаем сообщение «Введите имя бота».

          Создаем бот для сбора контента от подписчиков

          Даем ему имя, например «Контент бот».

          4. Название дано, выбираем юзернейм (на окончании обязательно должно быть слово «bot», о чем нас и предупреждают). Например, «livecontent_bot». Если бот ругается, значит юзернейм занят и следует попробовать другой.

          Создаем бот для сбора контента от подписчиков

          Бот готов, получаем поздравления и токен бота.

          Создаем бот для сбора контента от подписчиков

          Оформляем аватар и описание бота

          1. Используем команду /setuserpic, затем выбираем созданного бота и отправляем фото.

          Создаем бот для сбора контента от подписчиков

          2. Аватарка сделана, добавим описание. Есть две команды: /setdescription и /setabouttext. Команда /setabouttext дает описание бота в шапке. Команда /setdescription дает описание бота при старте. Сначала вводим /setabouttext и отправляем текст для описания бота в шапке.

          Создаем бот для сбора контента от подписчиков

          3. Отлично, описание бота добавлено. Выглядит оно вот так.

          Создаем бот для сбора контента от подписчиков

          4. Командой /setdescription добавляем описание бота при старте.

          Создаем бот для сбора контента от подписчиков

          Выглядит оно вот так.

          Создаем бот для сбора контента от подписчиков

          Бот готов к работе.

          Подключаем бот к Fleep

          Создаем бот для сбора контента от подписчиков канала

          2. Нажимаем на кнопку «Fleep.бизнес» внизу (/business), чтобы создать и настроить бота.

          Создаем бот для сбора контента от подписчиков канала

          Создаем бот для сбора контента от подписчиков канала

          4. Бот подключен к конструктору. Пора настроить приветственное сообщение. По умолчанию оно такое: « Напишите свой вопрос и вам ответят в ближайшее время».

          Так как необходимо принимать контент через бота от подписчиков, введем подходящий текст. Например, такой: « Отправляйте сюда ваши фото, видео или гиф. Лучшее мы опубликуем на канале». Для этого переходим в созданный бот, нажимаем кнопку «Приветствие» и вводим новое стартовое сообщение. Все, готово!

          Я показал самый простой пример создания бота, Но при желании на базе конструкторов Fleep вы можете создать практически универсальные боты под разные нужды. Подробнее о возможностях конструктора читаем здесь .

          Проверяем работоспособность бота

          Проверим бот и посмотрим, возможно ли через него получать контент от подписчиков.

          1. Итак, я запускаю созданный бот на втором аккаунте Телеграм. Сначала нахожу его в поиске и нажимаю кнопку «Старт». Вот он.

          Создаем бот для сбора контента от подписчиков канала

          Отправляю боту контент (изображение).

          Отправка контента боту

          Получаю изображение в боте на первом аккаунте.

          Прием контента от пользователя через бот

          Что это дает? Возможно разместить созданный бот в шапке канала и получать через него контент от подписчиков (гифки, фото, видео и пр.) Удобно как для подписчиков, так и для админов и полностью бесплатно.

          Подключаем бот к чату

          А что если подключить бот к чату и получать в нем контент от подписчиков? Возможно? Вполне.

          1. Создаем чат и называем его, например, «Контент»

          2. Добавляем созданного бота в него с правами администратора.

          3. Проверяем работоспособность. Для этого я снова отправляю контент (изображение) в бота со своего второго аккаунта.

          Отправляем контент

          И получаю его уже в чате (в том, где бот подключен).

          Получаем контент в чате

          Заключение

          Создать свой бот для сбора контента от подписчиков не так уж и сложно. Достаточно использовать представленную в статье инструкцию.

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

          Успехов вам! До новых встреч в следующих статьях. С уважением, Дмитрий Толстой.

          Источник: blogger-tolstoy.ru

          Telegram bot с ChatGpt на Python.

          Telegram bot с ChatGpt на Python.

          Это руководство по созданию ChatGPT бота Telegram всего несколькими строками кода на ЯП Python. Независимо от того, являетесь ли вы профессионалом в области программирования или только начинаете, мы подготовили для вас пошаговое руководство. Приготовьтесь произвести революцию в ваших чатах и хорошенько повеселиться!

          1. Для начала убедитесь, что на вашем компьютере установлен Python.

          Если python не установлен, инструкция тут:

          Telegram bot с ChatGpt на Python.

          Telegram bot с ChatGpt на Python.

          Как только бот будет создан, BotFather предоставит вам токен. Этот токен используется для аутентификации вашего бота и предоставления ему доступа к Telegram API. Скопируйте токен и используйте его в коде вашего бота для аутентификации и доступа к API. Не делитесь токеном вашего бота ни с кем.

          Затем вам нужно будет получить ID чата канала, который вы только что создали в Telegram. Этот ID является уникальным идентификатором и используется, когда кто-то хочет интегрировать Telegram со своими собственными приложениями или сервисами.

          Telegram bot с ChatGpt на Python.

          Отправьте сообщение на этот канал через API бота, используя своё имя канала и токен доступа.

          , «chat»:< «id»:-1001527664788, «title»:»», «username»:»TestChannel»,»type»:»channel» >, «date»:1670434355, «text»:»123″ > >

          Вы найдёте идентификатор канала в разделе chat/id.

          Telegram bot с ChatGpt на Python.

          Важно предоставить вашему боту права администратора, чтобы он мог выполнять все необходимые задачи.
          Внимание всем программистам! Эти ID токенов доступа могут выглядеть красиво, но они просто для галочки. Далее вам понадобится свой собственный для вашего приложения.

          3. Пришло время получить свой API-ключ и подключиться к движку OpenAI.

          Если в вашем регионе ChtGpt недоступен, вот инструкция по получению апи ключа,

          Telegram bot с ChatGpt на Python.

          Оттуда вы можете сгенерировать новый ключ и использовать его для аутентификации ваших запросов API. Важно хранить этот API-ключ в секрете и в безопасности, чтобы защитить вашу учётную запись.

          Telegram bot с ChatGpt на Python.

          Имейте в виду, что OpenAI может ограничить количество вызовов API, которые вы можете выполнять. С личной учётной записью вам предоставляется грант в размере 18 долларов США для использования в запросах API. Обязательно ознакомьтесь с условиями предоставления услуг и информацией о ценах на веб-сайте OpenAI перед использованием API.

          Подключение к Text-davinci-003

          Telegram bot с ChatGpt на Python.

          Text-davinci-003 – это большая языковая модель, разработанная OpenAI. Она считается одной из наиболее эффективных языковых моделей, доступных в настоящее время, благодаря своей способности генерировать текст, похожий на человеческий, и выполнять широкий спектр языковых задач. Она был обучена на наборе данных из миллиардов слов и может генерировать связный текст, который читается так, как будто он был написан человеком.

          С помощью нескольких простых шагов и немного магии Python вы сможете подключить и развернуть своего бота ChatGPT в своей группе в кратчайшие сроки. Давайте приступим к написанию кода!

          4. Начните писать код на Python.

          Для начала мы импортируем необходимые библиотеки и установим параметр аутентификации ключа.

          # 1. импорт стандартных библиотек import json import os import threading # серктный ключ чатджипити, полученный ранее API_KEY = ‘xxxxxxxxxxxsecretAPIxxxxxxxxxx’ # Models: text-davinci-003,text-curie-001,text-babbage-001,text-ada-001 MODEL = ‘text-davinci-003’ #токен, полученный от телеграм бота ботфазер BOT_TOKEN = ‘xxxxxxbotapikeyxxxxx’ # определяем личность бота, мы сделали бота-шутника для примера BOT_PERSONALITY = ‘Answer in a funny tone, ‘

          Вводим параметр BOT_PERSONALITY — задайте стиль ответов ChatGpt в телеграме ! Используйте эту удобную константу, чтобы придать вашему боту определённый тон или манеру разговора, например, дружелюбный, профессиональный или с чувством юмора. Установив параметр BOT_PERSONALITY, вы можете настроить способ общения ChatGPT с вашими пользователями и создать более персонализированный и привлекательный объект:

          Вот 15 видов персоналий, которые можно выбрать of ChatGPT: 1. Friendly 2. Professional 3. Humorous 4. Sarcastic 5. Witty 6. Sassy 7. Charming 8. Cheeky 9. Quirky 10. Laid-back 11. Elegant 12. Playful 13. Soothing 14. Intense 15. Passionate

          Затем создайте функцию, которая получает ответ от чат-бота OpenAI.

          # 2a. ответ от openAi def openAI(prompt): # делаем запрос на сервер с ключами response = requests.post( ‘https://api.openai.com/v1/completions’, headers=’>, json= ) result = response.json() final_result = ».join(choice[‘text’] for choice in result[‘choices’]) return final_result # 2b. функция обработки изображений def openAImage(prompt): # запрос на OpenAI API resp = requests.post( ‘https://api.openai.com/v1/images/generations’, headers=’>, json= ) response_text = json.loads(resp.text) return response_text[‘data’][0][‘url’]

          Telegram bot с ChatGpt на Python.

          Эта функция 2.a отправит POST-запрос в OpenAI API с заданными входными данными (например, “Что такое энтропия?”) для анализа API. Параметр temperature определяет, насколько случайным будет сгенерированный ответ — более низкие значения означают более предсказуемый текст. Параметр max_tokens устанавливает ограничение на количество слов и знаков препинания в ответе. И вуаля! Функция вернёт сгенерированный ответ из указанной модели OpenAI.

          Далее, пришло время создать функцию, которая отправляет сообщение определённой группе в Telegram:

          # 3a. функция отправки в заданную телеграм группу def telegram_bot_sendtext(bot_message,chat_id,msg_id): data = < ‘chat_id’: chat_id, ‘text’: bot_message, ‘reply_to_message_id’: msg_id >response = requests.post( ‘https://api.telegram.org/bot’ + BOT_TOKEN + ‘/sendMessage’, json=data ) return response.json() # 3b. Функция, которая отправляет изображение в определенную группу телеграмм def telegram_bot_sendimage(image_url, group_id, msg_id): data = < ‘chat_id’: group_id, ‘photo’: image_url, ‘reply_to_message_id’: msg_id >url = ‘https://api.telegram.org/bot’ + BOT_TOKEN + ‘/sendPhoto’ response = requests.post(url, data=data) return response.json()

          Приведённая выше функция 3.a отправляет сообщение определённой группе Telegram с помощью Telegram API. Функция принимает три аргумента: bot_message, который является сообщением, подлежащим отправке, chat_id, который является уникальным идентификатором чата, в который будет отправлено сообщение, и msg_id, который задаёт уникальный идентификатор сообщения, на которое вы хотите ответить. Функция использует библиотеку запросов для отправки запроса GET в Telegram API с необходимыми параметрами, включая ключ API, идентификатор чата и сообщение для отправки.

          Теперь пришло время перейти к самому интересному— созданию функции, которая извлекает последние запросы от пользователей в группе Telegram, генерирует умный ответ с помощью OpenAI и отправляет его обратно в группу. Давайте сделаем это!

          Итак, последний шаг! Пришло время добавить компонент планирования в ваш бот, чтобы он мог регулярно проверять наличие новых сообщений в группе и отправлять ответы по мере необходимости. Потоковая библиотека Python может помочь вам в этом:

          # 5 Запускаем проверку каждые 5 секунд на наличие новых сообщений def main(): timertime=5 Chatbot() # 5 секунд таймер threading.Timer(timertime, main).start() # запускаем функцию main if __name__ == «__main__»: main()

          Та-да! Представляем плоды вашего труда: окончательный код на Python для вашего нового весёлого чат-бота. Просто скопируйте и вставьте этого “парня” в свой любимый редактор кода, подключите свои API-ключи и идентификатор группы чата, и вы в мгновение ока будете общаться с ChatGPT.

          Полная версия кода (github link here):

          С помощью нескольких простых шагов и небольшого количества магии Python вы успешно создали чат-бота для своей группы Telegram с помощью OpenAI. Поздравляю! Время откинуться на спинку стула и понаблюдать за поступающими весёлыми ответами. Или, знаете ли, проведите некоторую тонкую настройку, чтобы сделать вашего чат-бота действительно уникальным.

          Источник: uproger.com

        Рейтинг
        ( Пока оценок нет )
        Загрузка ...