All Projects → Phantas0s → ottosocial

Phantas0s / ottosocial

Licence: other
👍 ottosocial is a CLI to schedule tweets via CSV

Programming Languages

go
31211 projects - #10 most used programming language
shell
77523 projects

Projects that are alternatives of or similar to ottosocial

mdtable2csv
convert tables in .md to .csv
Stars: ✭ 91 (+295.65%)
Mutual labels:  csv
burp-suite-http-proxy-history-converter
Python script that converts Burp Suite HTTP proxy history files to CSV or HTML
Stars: ✭ 63 (+173.91%)
Mutual labels:  csv
trending-twitter
Simple dashboard for getting currently trending hashtags and topics on Twitter
Stars: ✭ 23 (+0%)
Mutual labels:  social-media
artemis cli
A command-line application for tutors to more productively grade programming excises on ArTEMiS
Stars: ✭ 12 (-47.83%)
Mutual labels:  csv
elastic-query-export
🚚 Export Data from ElasticSearch to CSV/JSON using a Lucene Query (e.g. from Kibana) or a raw JSON Query string
Stars: ✭ 56 (+143.48%)
Mutual labels:  csv
strapi-plugin-import-export-content
Csv and Json import / export content plugin to Strapi
Stars: ✭ 129 (+460.87%)
Mutual labels:  csv
datasets
The primary repository for all of the CORGIS Datasets
Stars: ✭ 19 (-17.39%)
Mutual labels:  csv
grafana-csv-plugin
CSV datasource for Grafana 6.x.x / 7.x.x
Stars: ✭ 33 (+43.48%)
Mutual labels:  csv
elasticsearch-report-engine
An Elasticsearch plugin to return query results as either PDF,HTML or CSV.
Stars: ✭ 49 (+113.04%)
Mutual labels:  csv
torch-dataframe
Utility class to manipulate dataset from CSV file
Stars: ✭ 67 (+191.3%)
Mutual labels:  csv
meta-tag-gen
Generate HTML code optimal for social media, SEO, mobile. Uses web standards from Open Graph (Facebook) and Twitter to provide optimal results. Also generates social media posts.
Stars: ✭ 24 (+4.35%)
Mutual labels:  social-media
tv
📺(tv) Tidy Viewer is a cross-platform CLI csv pretty printer that uses column styling to maximize viewer enjoyment.
Stars: ✭ 1,763 (+7565.22%)
Mutual labels:  csv
dogETL
A lib to transform data from jdbc,csv,json to ecah other.
Stars: ✭ 15 (-34.78%)
Mutual labels:  csv
SoMeWeTa
A part-of-speech tagger with support for domain adaptation and external resources.
Stars: ✭ 20 (-13.04%)
Mutual labels:  social-media
awesome-georgian-datasets
Useful datasets, specific to Georgia
Stars: ✭ 47 (+104.35%)
Mutual labels:  csv
eec
A fast and lower memory excel write/read tool.一个非POI底层,支持流式处理的高效且超低内存的Excel读写工具
Stars: ✭ 93 (+304.35%)
Mutual labels:  csv
uzbekistan-regions-data
Full Database of regions Uzbekistan available in JSON, SQL & CSV Format All Regions, Districts & Quarters with Latin, Cyrillic and Russian versions. (Районы (туманы) Республики Узбекистан и Города областного (республиканского) подчинения)
Stars: ✭ 46 (+100%)
Mutual labels:  csv
Textrude
Code generation from YAML/JSON/CSV models via SCRIBAN templates
Stars: ✭ 79 (+243.48%)
Mutual labels:  csv
COVID-19-Greece
A python-generated website for visualizing the novel coronavirus (COVID-19) data for Greece.
Stars: ✭ 21 (-8.7%)
Mutual labels:  csv
Emma
Emma Memory and Mapfile Analyser
Stars: ✭ 21 (-8.7%)
Mutual labels:  csv

ottosocial logo travis CLI Hits-of-Code License Go Report Card Codacy Badge

ottosocial is a CLI which allows you to schedule and send automatically messages on social media, from a CSV file.

You can send threads by separating your tweets with a pipe |. As a result, you can't use the pipe as a character in a tweet.

For now, only Twitter is supported.

ottosocial is in beta. Breaking changes might come.

Menu

Installation

General

You can simply grab the latest released binary file and download the version you need, depending on your OS.

Linux script

If you use a Linux based OS, here's a simple way to download ottosocial and move it in /usr/local/bin to be able to use it globally.

curl -LO https://raw.githubusercontent.com/Phantas0s/ottosocial/master/install/linux.sh && \
./linux.sh && \
rm linux.sh

Manual installation

You need to clone this repository and build the binary in the root directory.

Getting Started

First, you need to authorize ottosocial to send tweets from your twitter account. To do so:

  1. Go to Twitter app management. Log in if necessary.
  2. Click on "Create an app".
  3. Fill the required fields.
  4. You'll need to copy the following to authorize ottosocial to send tweets:
    • API key,
    • API secret key,
    • Access Token
    • Access Token Secret provided,

See below the configuration to include everything to the configuration file.

Commands

For now, only the command csv is available.

I advise you to use a terminal multiplexer or & to run ottosocial in the background.

Configuration

Some configuration is required in order to run ottosocial. Here's the detail:

Name Description Flag Type Required default
key Twitter API key --key, -k string yes -
secret Twitter API secret key --secret, -s string yes -
token Twitter Access Token --token, -t string yes -
token-secret Twitter Access Token Secret --token-secret, -j string yes -
logpath File path of the log file --logpath, -l string no -
file File path of the CSV --filepath, -f string yes -
verify Verify each tweet --verify, -v boolean no false

NOTES:

  • If logpath is not filled, the default output will be the shell. I advise you to use a logpath and tailing it at all time to see every error.
  • If verify is true, ottosocial will stop if one (or more) tweets are invalid.

You can either way use flags, a configuration file, or both at the same time.

Using flags

If you use only flags, you'll need to precise every required configuration field directly when you launch ottosocial.

For example:

ottosocial csv --key=1234 --secret=5678 --token=910-11 --token-secret=12KK --logpath=/tmp/ottosocial-logs -v -f ./test.csv

Configuration File

This is the simplest way to use ottosocial. You'll need to create the file ~/ottosocial.yml (directly in your home directory) and add your configuration there. For example:

---
key: 1234 # API key
secret: 5678 # API secret key
token: 910-11 # Access token
token-secret: 12KK # Access token secret
logpath: /tmp/ottosocial-logs
file: ~/my-tweets.csv

Then, you simply need to launch ottosocial.

CSV Format

ottosocial can send tweets from a CSV. It needs to have two columns: date (when the tweet will be sent) and message.

For example:

2020-01-23 07:57,This is a test
2020-01-23 08:00,"This is a test, with quotes"

You need to respect the date format. If the date is in the past, the tweet will never be sent.

NOTES:

  • If you modify the CSV, you need to relaunch ottosocial. I might implement hot reloading later, if somebody is interested in that.

Contribute

Thanks a lot if you want to contribute to ottosocial!

I think the "talk, then code" practice is pretty good to avoid misunderstandings and hours of work for nothing.

Therefore:

"Every new feature or bug fix should be discussed with the maintainer(s) of the project before work commences. It’s fine to experiment privately, but do not send a change without discussing it first."

Acknowledgement

The logo uses Maria Letta mega doodle pack. Thanks for these great illustrations.

Licence

Apache Licence 2.0

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].