diff --git a/LICENSE b/LICENSE new file mode 100644 index 0000000..723632a --- /dev/null +++ b/LICENSE @@ -0,0 +1,14 @@ +Copyright (c) 2017 Thomas L +Copyright (c) 2017 b3yond + +Permission to use, copy, modify, and distribute this software for any +purpose with or without fee is hereby granted, provided that the above +copyright notice and this permission notice appear in all copies. + +THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES +WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF +MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR +ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES +WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN +ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF +OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. diff --git a/README.md b/README.md index 83b1f98..1339d8a 100644 --- a/README.md +++ b/README.md @@ -30,20 +30,27 @@ $ vim ticketfrei.cfg ``` Edit the account credentials, so your bot can use your accounts. +### blacklisting + Also add the words to the goodlist, which you want to require. A tweet is only retweeted, if it contains at least one of them. If you want to RT everything, just add your account name. There is also a blacklist, which you can use to automatically sort out malicious tweets. Be careful though, our filter can't read the intention with which a word was used. Maybe you wanted it there. Note that atm the good- & blacklist are still outside of ticketfrei.cfg, in separate files. we will repare this soon. +### screen + To keep the bots running when you are logged out of the shell, you can use screen: ```shell sudo apt-get install screen +echo "if [ -z "$STY" ]; then screen -RR; fi" >> ~/.bash_login screen python ticketfrei.py ``` +To log out of the screen session, press "ctrl+a", and then "d". + ## ideas * You can only use the twitter API if you have confirmed a phone number and sacrificed a penguin in a blood ritual. So we should build it in a way that it uses the twitter web GUI. It's difficult, but maybe it works. We had another twitter bot that worked similarly, years ago: https://github.com/b3yond/twitter-bot @@ -58,7 +65,7 @@ Desktop/pycharm-community-2017.1.4/bin/pycharm.sh - [x] Twitter: retweet people - [x] Mastodon: boost people - [x] Twitter: access the API -- [ ] Web UI that lets you easily delete toots/tweets per db id and mute the tweet author +- [ ] Web UI that lets you easily delete toots/tweets per db id and/or mute the tweet author - [x] Write Bots as Classes to be easier implemented - [x] Create extra Class for the filter - [x] Put as much as possible into ticketfrei.cfg @@ -66,3 +73,6 @@ Desktop/pycharm-community-2017.1.4/bin/pycharm.sh - [x] implement trigger class in retootbot - [x] read config in retweetbot - [x] put shutdown contact in ticketfrei.cfg +- [ ] document what you have to configure if you setup the bot in another city +- [ ] write a script to setup the bot easily. ask the admin for the necessary information +- [ ] write a web interface, so we can host the bot for other cities - ppl don't have to know the command line diff --git a/campaign/campaign.md b/campaign/campaign.md new file mode 100644 index 0000000..98a2502 --- /dev/null +++ b/campaign/campaign.md @@ -0,0 +1,41 @@ +# Campaign to build a local community around ticketfrei + +## Target groups + +Students: usually already have a ticket, but may be solidaric +* especially design university + +Leftist scene +* Flyers in alternative centers +* Graffitis in alternative neighbourhoods + +Schools: +* especially trade schools + +Nightlife +* Spread flyers in bars and nightclubs + +## Material + +Logo + Header Picture + +Sticker + +Flyer +* 1 Flyer in high-polish VAG-Layout +* 1 Flyer in DIY-Anarcho-Style + +Graffiti stencils + +## Video + +2-3 Minutes explaining video with Anonymous-Mask und cryptical language +* Have fun with a greenscreen - a mask, floating through a populated subway + +Short video how to set up your own Ticketfrei bot + +## Talk in alternative centers + +talk, maybe 15 minutes +* How does the bot work? +* Why is this politically relevant, what is sousveillance? diff --git a/guides/flyer.md b/campaign/flyer.md similarity index 92% rename from guides/flyer.md rename to campaign/flyer.md index 2e4a82b..5e48fc8 100644 --- a/guides/flyer.md +++ b/campaign/flyer.md @@ -1,3 +1,5 @@ +Flyer, der bestimmt gut an Universitäten geht: + # Ticketfrei fahren? Nur wenn wir zusammenhelfen! Das Problem sind immer die Kontrolleure. diff --git a/campaign/logo.png b/campaign/logo.png new file mode 100644 index 0000000..0ca51b7 Binary files /dev/null and b/campaign/logo.png differ diff --git a/campaign/reclaim_the_network.png b/campaign/reclaim_the_network.png new file mode 100644 index 0000000..d63fee9 Binary files /dev/null and b/campaign/reclaim_the_network.png differ diff --git a/campaign/so fahren alle gut.png b/campaign/so fahren alle gut.png new file mode 100644 index 0000000..72c368d Binary files /dev/null and b/campaign/so fahren alle gut.png differ diff --git a/campaign/vag.xcf b/campaign/vag.xcf new file mode 100644 index 0000000..bc63207 Binary files /dev/null and b/campaign/vag.xcf differ diff --git a/campaign/wallpaper.png b/campaign/wallpaper.png new file mode 100644 index 0000000..6fd2da1 Binary files /dev/null and b/campaign/wallpaper.png differ diff --git a/ticketfrei.cfg.example b/ticketfrei.cfg.example index 39d9cf6..c4e1e83 100644 --- a/ticketfrei.cfg.example +++ b/ticketfrei.cfg.example @@ -8,7 +8,7 @@ server = 'yourmastodoninstance' [tapp] consumer_key = "yourconsumerkey" -consumer_secret = yourconsumersecret" +consumer_secret = "yourconsumersecret" # shutdown_contact_userid = 012345 # shutdown_contact_screen_name = 'yourscreenname'