Text based script for readily insulting people intended to be run from the command line or in IRC. Can be incorporated into other scripts, such as Twython Tools.
To use it run:
foad.py [-h/--help] -f/--fuck option [-n/--name target] [-s/--sender from] [-e/--extra "some paramater"] [-p/--prepend "text before insult"] [-a/--append "text after insult"]
Examples:
bash$ ./foad.py -f wtfwjd What the fuck would Jesus do? bash$ bash$ ./foad.py -f wtfwjdrtfm -n Bob So Bob, what the fuck would Jesus do? Jesus would read the fucking manual! bash$ bash$ ./foad.py -f mind -n "Mike Pence" Mike Pence, are you out of your fucking mind?! bash$ bash$ foad -f psycho3 -n "Tony Abbott" Tony Abbott, you're a fucking megalomaniacal, malignantly narcissistic, psychopath! bash$ bash-4.4$ foad -f priapus1 -n @zaelefty Obscēnis, peream, @zaelefty, sī nōn ūtī mē pudet improbīsque verbīs sed cum tū positō degenerem pudōre ostendās mihi cōleōs patentēs cum cunnō mihi mentula est vocanda. bash-4.4$ foad -f priapus1 -n @zaelefty | wrap -w 80 Obscenis, peream, @zaelefty, si non uti me pudet improbisque verbis sed cum tu posito degenerem pudore ostendas mihi coleos patentes cum cunno mihi mentula est vocanda. bash-4.4$ bash-4.4$ foad -f priapus1 -n "Barnaby Joyce" -e eng I'd rather die than use obscene and improper words; but when you, Barnaby Joyce, as a degenerate, appear with your testicles hanging out, it is appropriate for me to speak of cunts and cocks. bash-4.4$ bash-4.4$ foad -f priapus1 -n "Barnaby Joyce" -e eng | wrap -w 72 I'd rather die than use obscene and improper words; but when you, Barnaby Joyce, as a degenerate, appear with your testicles hanging out, it is appropriate for me to speak of cunts and cocks. bash-4.4$ bash$ wrap-foad.sh -f priapus4 -n "Donald Trump" Obscēnis, peream, Donald Trump, sī nōn ūtī mē pudet improbīsque verbīs sed cum tū positō praefecus pudōre ostendās mihi cōleōs patentēs cum cunnō mihi mentula est vocanda. bash$ bash$ wrap-foad.sh -f priapus4 -n "Donald Trump" -e russia I'd rather die than use obscene and improper words; but when you, Donald Trump, as a president, appear with your testicles hanging out, it is appropriate for me to speak of cunts and cocks. bash$
There are currently more than 250 options to use with the -f
flag
and the majority of those have two or more forms, one for naming a
subject, a more general one and occasionally a sender or extra text or
other parameter included. As well as a couple of special options which
are more informative than insulting. The full list of options is
visible on the command line by running foad.py -O .
and the test
script will generate most of the possible output. All options and the
generic catchall can now be used with --prepend
and/or
--append
.
Also note that the wrap
command included in some of the above
examples is part of the Muttils package, which requires
Python 2.7. A port of that package which uses Python 3 instead is
available here
(more specifically here),
but the latter version has not been robustly tested. Also note that
the wrap-foad.sh
script is just a shell script which utilises the
wrap command with 80 character column widths, while still allowing the
normal foad.py
flags and arguments to be used.
If you find this script of use or even just amusing, a small Bitcoin
contribution to 1NpzDJg2pXjSqCL3XHTcyYaehiBN3kG3Lz
would be
appreciated.
All you need to do to install this script is download foad.py and move it to somewhere in your path. See the Requirements section for the version of Python required. To import it as a module in Python it needs to be in your Python path (e.g. site-packages). I usually just leave it in /usr/local/bin or $HOME/bin with an appropriately adjusted .bashrc or .bash_profile configuration.
The script should be obtained from here:
https://github.com/adversary-org/foad
- Python 3.2 and above by default (see below).
- Only utilises standard modules (argparse, sys, random and a couple of others).
- Utilises the new standard for string formatting as of version 0.7.
- From Version 0.8 support for Python 2.7 has been restored.
- Will not work with Python 2.6 or earlier.
- Requires changing the first line to call python2 or python (depending on the platform) instead of python3.
- Operation ought to match the existing methods.
- If there is ever some kind of conflict between Python 2 and Python
3, any changes made will favour Python 3. If it is necessary to
disable this (by removing the
from __future__
import) then that will be done. - Though leaving this as is, from 2020 all Python 2.x support is deprecated and will be largely ignored.