Giter Club home page Giter Club logo

tweets_to_telegram's Introduction

Robô Tweet to Telegram

Robô em Python que faz o scraping do Twitter e posta os últimos posts dos usuários em um grupo do Telegram. Este robô também funciona para enviar os Tweets para uma conta individual ou um canal no Telegram.

Autenticação do Twitter

Para começar você tem que pedir acesso a API do twitter para conectar o seu programa na plataforma e buscar os dados do usuário desejado. Para solicitar o acesso a API do Twitter entre no link https://developer.twitter.com/en

API do Telegram

Você também tem que conseguir uma API para o Telegram e é muito mais simples fazer isso basta:

  1. Entrar no Telegram
  2. Abrir o robô do Telegram chamado BotFather
  3. Seguir com os comandos abaixo /newbot -> Solicitar novo robô /token -> Para o novo token da API /setname -> Para definir um nome ao Robo /setuserpic -> Para adicionar uma foto /setprivacy -> Caso queira usar o robo em um grupo ou canal

Imports em Python

import logging
import requests
import urllib.request
import json
import tweepy
import time
import pandas as pd
from pandas import DataFrame
from telegram import *
from telegram.ext import *
import telegram
from datetime import datetime, timedelta
from heapq import nlargest

Para instalar os requirements use: `pip install -r requirements.txt

`

Configurar a API do Twitter

Após o seu acesso a API do twitter ser garantido atualize o código com os dados:

auth = tweepy.OAuthHandler("CONSUMER_KEY", "CONSUMER_SECRET")
auth.set_access_token("ACCESS_TOKEN","ACCESS_TOKEN_SECRET")

Configurando API do Telegram

telegram_token = 'TELEGRAM API TOKEN'
chat_id = 'CHAT ID' # Channel ID
bot = telegram.Bot(token=telegram_token)

Configurar os usuário do Twitter

if __name__ == "__main__":
    # Deinir os usuários do twitter que vc quer verificar
    main(['twitter01','twitter02','twitter03']

Usar o handler do twitter dos usuários

Ler e Escrever CSV

Abaixo o código que vai verificar se o tweet já foi salvo ou não. É preciso que o CSV já esteja no diretório porque tive preguiça de fazer a validação se o arquivo já existe ou não.

        ##### Abre o CSV File e verifica se o tweet ja foi salvo
        dfopen = pd.read_csv('gabinete_do_mal.csv', index_col=0)
        if not dfopen['tweetid'].eq(teweetid).any():
            bot.send_photo(chat_id, image)
            bot.sendMessage(chat_id=chat_id, text=f"Último tweet por {name} enviado pelo 📱 {source} (da presidência)\n\n🐄 Followers: {followers}\n🐂 Data: {date}\n🥛 Likes: {likes}\n🐮 Retweets: {retweets}\n\nhttps://twitter.com/{tweet.user.screen_name}/status/{str(tweet.id)}")
            dictposts = {'username':[f'@{user}'], 'tweetid':[teweetid], 'name':[name], 'date':[date], 'likes':[likes],'retweets':[retweets],'plinks':[message]}

            ##### Constroi o DataFrame com Pandas e salva no CSV
            df = pd.DataFrame(dictposts)
            df.to_csv('tweets_salvos.csv', mode='a', index = False, header = False)
        else:
            print('not added', end="\r")

tweets_to_telegram's People

Contributors

tadeubanzato avatar

Watchers

 avatar

Forkers

ghostnetrn

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.