Рубрики
Без рубрики

Синхронизация твитов телеграммы с использованием API активности аккаунта

Еще один пост, который имеет отношение к телеграмме. Да, я знаю, но никогда не так много … С тегом учебник, Telegram, Python, Twitter.

Еще один пост, что есть что делать с телеграммой Отказ Да, я знаю, но никогда не так много, как будто ты говоришь о статьях блога.

Многие люди вокруг моей телеграммы обслуживают свои собственные каналы, и многие из них имели несколько сотен или даже тысяч абонентов. Я думаю, что я тоже могу сделать это тоже, но я тоже не хочу сдаваться Моя учетная запись Twitter Что более доступно для поисковых систем. Так почему бы не синхронизировать мои твиты на канал? Учитывая открытость обе телеграммы, так и Twitter, это не должно быть большим из вопроса.

Первый вариант я обратился, это, конечно, IFTTT. . Это одно из самых известных решений для повседневной автоматизации. Я также использовал это В другом скрипте Отказ Проблема IFTTT заключается в том, что вариант это обеспечивает ТОО просто. Там нет трансформации текста, никакого состояния и нет всего, что мне нужно для идеального экспедитора. Это даже бросает разрывы линии при процитировании содержимого твита.

Вскоре после того, как я получил время, я заменил бота IFTTT своим собственным для лучшей презентации и детального контроля над ним.

Бот

Настройка бота Telegram для этой цели не сложна, особенно когда он не требует никакого ввода. На самом деле вы можете даже повторно использовать бот, который у вас уже есть для этого (что я делал).

Добавьте бот в канал как admin, получите идентификатор/имя пользователя канала, и вы хотите пойти.

Тяжелая часть – создать приложение Twitter для использования API активности учетной записи. Вы должны заполнить довольно длительный опрос, сообщающий им, почему вы хотите сделать приложение и как вы собираетесь использовать API. Только после того, как они одобрили ваш запрос, вы можете перейти к следующему шагу.

Обратите внимание, что Twitter был довольно строгим на квоте API учетной записи API с учетом учетной записи, с тех пор, как они перешли из потокового API ( который сломал большинство сторонних клиентов ). Вы не можете поделиться своим ключом API и Secret до более чем 15 учетных записей, если вы находитесь в плане Sandbox (Free), или вас можно попросить оплатить законопроект.

Твиттер закончил поддержку для уведомлений о Push и автоматических сроках сегодня, заявив, что необходимо сосредоточиться на своих родных приложениях

Кроме того, поскольку API новой учетной записи API является подобным в Интернете, это означает, что вы должны выяснить, так или иначе выяснить, чтобы разоблачить свой бот в качестве точки входа HTTP. Я использовал свой существующий веб-сервер Nginx для пересылки запроса на бот. Другие методы также должны работать.

Я использую библиотеку Python под названием Twittivity который обеспечивает простое веб-сервер Flask и некоторые функции помощника, Talkledb для простого файловой клавишного хранилища и Python Telegram Bot для бота.

Настройка среды

После того, как вы настроили свое приложение Twitter, вы можете перейти к Среда разработки Страница для создания среды для вашей учетной записи API API. Этикетка окружающей среды (E.g. env_name ) будет использоваться позже в коде.

Если вы запускаете бот в своей собственной учетной записи, перейдите на страницу приложения и выберите «Ключи и токены». Оттуда вы можете получить ваш ключ/токен API и ключ доступа/токен в одном Go. Для пользователей, кроме себя, вам необходимо установить аутентификацию вручную, чтобы получить токены.

Когда у вас есть эти токены готовы, вы можете зарегистрировать свой веб -ook с Twitter.

Как только WebHook зарегистрирован, вы можете скопировать по конфигурации в фактический файл бота и запустите его. Поскольку он проводит колбу на заднем плане, вы можете на самом деле использовать все Fancy UWSGI и Gunicorn веществ для поддержания бота, но простой сервер DEV Flask DEV должен достаться, если вы не твитете в Tweet 100 раз в секунду.

Как вы могли видеть выше, сам бот имеет довольно сложную логику. Бот будет идентифицировать природу твита и относиться к каждому виду Tweet по-разному.

  • Для простых твитов бот расширит все сокращенные ссылки, поскольку ограничение длины здесь не так строго. Предварительный просмотр ссылки будет включен только в том случае, если ссылка найдена в Tweet.
  • Для твитов со СМИ, бот отправит их в виде сообщений изображения/видео (или медиа). Благодаря тому, что API Telegram Bot принимает URL внешний медиа, нам не нужно загружать и загружать снова.
  • Для ретвиетов с комментариями только комментарий копируется.
  • Для любит и простого комментария оригинальный Tweet отображается только в виде предварительного просмотра ссылки.
  • Каждое отправленное сообщение имеет ссылки на оригинальный Tweet, а источник Tweet Tweet, если его подобное или ретвит. (Ссылки находятся на эмодзи в конце сообщений.)
  • Если Tweet – ответ на то, что у нас уже есть, он ответит на предыдущее сообщение в канале.

Некоторые скриншоты здесь:

Простой твит.

Retweet.

Ретвита с комментарием

Любимый твит

Обычный твит с изображением

Простой твит с несколькими картинками.

Последнее, но не менее важное, не забудьте следовать за мной в Twitter и Telegram 🙂

Пост Синхронизация твитов телеграммы Telegram с использованием активности учетной записи API появился первым на 1А23. Блог Отказ

Оригинал: “https://dev.to/blueset/sync-tweets-to-a-telegram-channel-using-account-activity-api-3gal”