Skip to content
This repository has been archived by the owner on Nov 6, 2023. It is now read-only.
/ Tako Public archive

Tako is a Twitter bot that selectively retweets/favorites based on Twitter content that the bot finds useful. You can curate Tako's behavior and constraints from a comfortable user-interface that runs right in your browser.

License

Notifications You must be signed in to change notification settings

a3r0id/Tako

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

46 Commits
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Tako

Tako is a Twitter bot that selectively retweets/favorites based on Twitter content that the bot finds useful. You can curate Tako's behavior and constraints from a comfortable user-interface that runs right in your browser.

Known Issues:

For some reason, py-notifier was added to the requirements as "pynotifier", which is not a vaild distribution, to fix this use pip install py-notifier

Tweepy should be version tweepy==3.10.0

Features

Query Bot

Query Bot is a conventional Twitter Retweet/Like bot that uses hashtags to search for related Tweets then interacts with them. This is a proven method to build a steady following.

Stream Bot

Stream Bot will follow specific users and interact with their Tweets upon being posted. This is good for interacting with an influencer or your favorite people on Twitter.

Tweet Scheduler

Tweet Scheduler will post your Tweets at a scheduled time in the future. As long as Tako is running, the Tweet will be posted otherwise it will be posted next time Tako is started.

Analytics

Tako features some basic analytics which give some insight into Tako's effectiveness and performance.

Initial Steps

Apply for and receive Twitter API credentials.

Clone Tako to a comfortable location on your intended runtime device.

Rename EXAMPLE_config.json to config.json.

Update your config (config.json) with your valid Twitter API credentials. (Read & write permissions)

Move to /src and pip install requirements.txt.

Run main.py.

Tako Basic Usage

To start either of the bot features (query/stream) navigate to Control then hit Start.

Confirm that Tako is running from the Status section, it should read "Running".

(Image) Bot Control

Editing Your Bot

Bot Resources:

Hashtags: The hashtags you add here will determine the Tweets your bot will interact with.

Drop If Hashtag Includes: Tako will ignore any Tweet that includes any of these substrings in any of it's hashtags. (Keeps us from interacting with junk like #100daysofcode etc.). Should ALWAYS be lowercase as each hashtag will be searched in lowercase.

Drop If Tweet Includes: Tako will ignore any Tweet that includes any of these substrings within it's text. This keeps us from interacting with junk tweets. Substrings should ALWAYS be lowercase as each tweet will be searched in lowercase. Issue: Twitter API only includes some of the text of a tweet in API requests, larger tweets may be truncated so this feature is not completely reliable.

(Image) Editing Bot Resources

Bot Constraints:

Max Dataset Length: This is the maximum amount of data points to keep in our dataset files. This is where our analytics come from and are stored. If you arent concerned about performance/storage issues (ie: aren't on a slow device) then you can use a higher cap.

Sleep Time: Amount of time (seconds) to sleep between queries.

Required Retweets: Amount of retweets a Tweet must have in order for us to interact with it.

Required Likes: Amount of likes a Tweet must have in order for us to interact with it.

Tweets Per Query: Amount of Tweets to pull during each query, requests can add up quickly so be sure not to set this too high else you could be rate-limited.

Max Hashtags: Max amount of hashtags contained in a single Tweet before we deem it spam and ignore it.

(Image) Editing Bot Constraints

Analytics:

Also featuring analytics of your actions such as likes, requests and retweets.

How Tako Works

Tako is built around Tweepy and is presented with a clean, browser-based & user-friendly UI.

Tako uses a local websocket server/client to pass data to and from the backend.

Known Issues:

Darkmode is disabled until I can make the time to fix it.

Changelog:

v00.00.8x

Added Discord webhook support for stream listener. Forward new tweets real-time to a Discord channel.

Resolved all known errors.

Removed dependency of chrome-driver for app mode (kiosk mode), Tako now automatically opens in your default browser.

Removed config_location.txt, config.json is expected to be located in the root folder in any case.

Various UI changes.

v00.00.2x

Follow is now an interaction option, allowing Tako users to automatically follow the author of Tweets interacted with.

Updated font.

macros.Auth is now used globally. This saves requests by authenticating at startup instead of each query. Stream, Scheduler & Query Bot now share the same Oauth instance.

Screenshot:

About

Tako is a Twitter bot that selectively retweets/favorites based on Twitter content that the bot finds useful. You can curate Tako's behavior and constraints from a comfortable user-interface that runs right in your browser.

Topics

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published