GithubHelp home page GithubHelp logo

raupulus / python-bot-twitter Goto Github PK

View Code? Open in Web Editor NEW
4.0 1.0 0.0 738 KB

Bot para Twitter escrito en python con el objetivo de trabajar múltiples perfiles independientes. Podrá publicar, dar like y retwittear según patrones coincidentes establecidos para cada perfil. Este es un mirror de: https://gitlab.com/raupulus/python-bot-twitter

Home Page: https://raupulus.dev

License: GNU General Public License v3.0

Python 100.00%
python python-script bot-twitter bot bot-inteligente script bot-multiperfil

python-bot-twitter's Introduction

bot_twitter

Bot para publicar, marcar twitts favoritos y retwittear según patrones coincidentes

Este repositorio se encuentra alojado en: https://gitlab.com/raupulus/bot-twitter-python

El principal objetivo de este bot es analizar antes de actuar y no actuar siempre de manera previsible.

Es posible que requiera una porción insignificante de tiempo por encima de lo normal antes de actuar ya que conecta mediante la API de twitter para comprobar twitt y retwitt de objetivos seleccionados para según el patrón establecido retwittear también o dar me gusta.

Mediante una función se programarán publicaciones cada cierto tiempo, ajustando este valor entre las variables mínimas y máximas. La idea es que pase un tiempo distinto entre cada publicación por ejemplo mínimo 10minutos y máximo 40minutos → Esto será calculado mediante una función que devuelva el tiempo aleatoriamente.


Versión actual 0.2 (beta) (README pendiente de ligeras correcciones)

Actualmente está en desarrollo por lo que no se recomienda aún el uso.

Se continúa trabajando sobre el bot, ya es posible twittear pero se ha de solventar manualmente ciertas cuestiones que serán corregidas en breve.


Obejtivos del bot

  • Exportar de ODS a CSV
  • Conectar con API de Twitter
  • Convertir número de línea a cadena
  • Publicar automáticamente todas las líneas del CSV
  • Crear automáticamente multiperfiles
  • Marcar favoritos según patrones
  • Marcar favorito todo según quien comparta
  • Retwittear según patrones
  • Retwittear todo según quien comparta
  • Estadísticas de seguimiento a otros usuarios recopilando información a una BD
  • Conectar a BD SQLite local donde se controla las veces que se publica cada una
  • Publicaciones aleatorias de todo el archivo, solo se repite a partir de 10 días una publicación (comprobar fecha) y la publicación más twitteada no puede distar más de 3 sobre la menos publicada. Así se equilibra que una se publique mucho más que otra creando cierta aletoriedad

Datos del proyecto

BOT solo probado en GNU/Linux Debian 9 y Fedora 26

Para las publicaciones es necesario que exista un archivo en formato y con la extensión "ods" en el mismo directorio o pedirá elegir donde obtenerlo mediante una ruta absoluta en el sistema. Dicho archivo se busca por defecto en el mismo directorio del bot con el siguiente nombre "publicar.ods"


Conversión a CSV

Para las publicaciones se utiliza un archivo LibreCalc en formato ODS donde la columna "B" será la que contenga las publicaciones y será la que se exportará al CSV como una publicación por línea.


Estructura

  • main.py → Contiene el programa principal, todas las llamadas y funcionamiento.
  • convert_ODS.py → Transforma hoja de cálculo en formato ODS de LibreOffice a CSV para trabajar más sencillo
  • perfil.py → Incluye las funciones para interactuar con la API de twitter, capa intermediaria entre el main.py y el módulo tweepy
  • publicacion.py → Contiene una clase "perfil" con la que crear un perfil por cada proyecto, de forma independiente

Dependencias

Aquí se listan las dependencias necesarias para el correcto funcionamiento del bot

  • python 2.7
  • Módulos/Librerías python externos
    • pyexcel-ods
    • twitter
    • codecs
    • tweepy
    • readline

Instalar dependencias en Debian 9

sudo apt install git python3 python3-pip

Instalar dependencias de Python 3

pip3 install pyexcel-{xlsxw,ods,ods3,odsr,xlsx,xls} codecs twitter tweepy readline

Sobre los autores

Nombre GitLab GitHub Web
Raúl Caro Pastorino @raupulus @raupulus https://raupulus.dev

Cuando contribuyas al repositorio, ¡recuerda añadir tus datos como autor!

Licencia

Este repositorio incluye material libre con el que puedes hacer lo que prefieras correspondiendo con la licencia GPLv3 y respetando autoría/s

Puedes consultar la licencia en el archivo adjunto LICENSE

python-bot-twitter's People

Contributors

raupulus avatar

Stargazers

 avatar  avatar  avatar  avatar

Watchers

 avatar

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.