This commit is contained in:
b3yond 2017-11-24 18:13:52 +01:00
commit b1348e5578
10 changed files with 69 additions and 2 deletions

14
LICENSE Normal file
View file

@ -0,0 +1,14 @@
Copyright (c) 2017 Thomas L <tom@dl6tom.de>
Copyright (c) 2017 b3yond <b3yond@riseup.net>
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.

View file

@ -30,20 +30,27 @@ $ vim ticketfrei.cfg
``` ```
Edit the account credentials, so your bot can use your accounts. 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. 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. 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. 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: To keep the bots running when you are logged out of the shell, you can use screen:
```shell ```shell
sudo apt-get install screen sudo apt-get install screen
echo "if [ -z "$STY" ]; then screen -RR; fi" >> ~/.bash_login
screen screen
python ticketfrei.py python ticketfrei.py
``` ```
To log out of the screen session, press "ctrl+a", and then "d".
## ideas ## 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 * 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] Twitter: retweet people
- [x] Mastodon: boost people - [x] Mastodon: boost people
- [x] Twitter: access the API - [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] Write Bots as Classes to be easier implemented
- [x] Create extra Class for the filter - [x] Create extra Class for the filter
- [x] Put as much as possible into ticketfrei.cfg - [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] implement trigger class in retootbot
- [x] read config in retweetbot - [x] read config in retweetbot
- [x] put shutdown contact in ticketfrei.cfg - [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

41
campaign/campaign.md Normal file
View file

@ -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?

View file

@ -1,3 +1,5 @@
Flyer, der bestimmt gut an Universitäten geht:
# Ticketfrei fahren? Nur wenn wir zusammenhelfen! # Ticketfrei fahren? Nur wenn wir zusammenhelfen!
Das Problem sind immer die Kontrolleure. Das Problem sind immer die Kontrolleure.

BIN
campaign/logo.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 57 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.9 MiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 467 KiB

BIN
campaign/vag.xcf Normal file

Binary file not shown.

BIN
campaign/wallpaper.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.1 MiB

View file

@ -8,7 +8,7 @@ server = 'yourmastodoninstance'
[tapp] [tapp]
consumer_key = "yourconsumerkey" consumer_key = "yourconsumerkey"
consumer_secret = yourconsumersecret" consumer_secret = "yourconsumersecret"
# shutdown_contact_userid = 012345 # shutdown_contact_userid = 012345
# shutdown_contact_screen_name = 'yourscreenname' # shutdown_contact_screen_name = 'yourscreenname'