Add flipping service to annna. - annna - Annna the nice friendly bot. HTML git clone git://bitreich.org/annna/ git://enlrupgkhuxnvlhsf6lc3fziv5h2hhfrinws65d7roiv6bfj7d652fid.onion/annna/ DIR Log DIR Files DIR Refs DIR Tags DIR README --- DIR commit 401434bbb4ce0b5cee4c9f6de913c9ba1f729005 DIR parent e3fce34e15750097f2bff69afb5ac5c7512f0c55 HTML Author: Annna Robert-Houdin <annna@bitreich.org> Date: Sun, 29 Nov 2020 15:28:42 +0100 Add flipping service to annna. Diffstat: M annna-start-services | 5 +++++ A updown | 88 +++++++++++++++++++++++++++++++ 2 files changed, 93 insertions(+), 0 deletions(-) --- DIR diff --git a/annna-start-services b/annna-start-services @@ -351,6 +351,11 @@ annna_common() { word="$(printf "%s\n" "${text}" | cut -c 21-)" annna-say -c "${channel}" "${word}, pew pew." ;; + "${botname}, please flip "*) + word="$(printf "%s\n" "${text}" | cut -c 20-)" + updownword="$(updown "${word}")" + annna-say -c "${channel}" "${word} -> ${updownword}" + ;; "${botname}, please give me a good band name.") bandname="$(bandname-gen | shuf | head -n 1)" annna-say -c "${channel}" "${bandname}" DIR diff --git a/updown b/updown @@ -0,0 +1,88 @@ +#!/usr/bin/env python2 +# coding=utf-8 +# +# Original credits to: http://www.weechat.org/scripts/source/stable/upside_down.py/ +# +# Copy me if you can. +# by 20h +# + +import sys +import re + +replacements = { + u'A' : u'\N{FOR ALL}', + u'B' : u'\N{GREEK SMALL LETTER XI}', + u'C' : u'\N{ROMAN NUMERAL REVERSED ONE HUNDRED}', + u'D' : u'\N{LEFT HALF BLACK CIRCLE}', + u'E' : u'\N{LATIN CAPITAL LETTER REVERSED E}', + u'F' : u'\N{TURNED CAPITAL F}', + u'G' : u'\N{TURNED SANS-SERIF CAPITAL G}', + u'J' : u'\N{LATIN SMALL LETTER LONG S}', + u'K' : u'\N{RIGHT NORMAL FACTOR SEMIDIRECT PRODUCT}', + u'L' : u'\ua780', + u'M' : u'W', + u'N' : u'\N{LATIN LETTER SMALL CAPITAL REVERSED N}', + u'P' : u'\N{CYRILLIC CAPITAL LETTER KOMI DE}', + u'Q' : u'\N{GREEK CAPITAL LETTER OMICRON WITH TONOS}', + u'R' : u'\N{LATIN LETTER SMALL CAPITAL TURNED R}', + u'T' : u'\N{UP TACK}', + u'U' : u'\N{INTERSECTION}', + u'V' : u'\u0245', + u'Y' : u'\N{TURNED SANS-SERIF CAPITAL Y}', + 'a' : u"\u0250", + 'b' : u'q', + 'c' : u"\u0254", + 'd' : u'p', + 'e' : u"\u01DD", + 'f' : u"\u025F", + 'g' : u"\u0183", + 'h' : u'\u0265', + 'i' : u'\u0131', + 'j' : u'\u027E', + 'k' : u'\u029E', + 'm' : u'\u026F', + 'n' : u'u', + 'r' : u'\u0279', + 't' : u'\u0287', + 'p' : u'd', + 'u' : u'n', + 'q' : u'b', + 'v' : u'\u028C', + 'w' : u'\u028D', + 'y' : u'\u028E', + '.' : u'\u02D9', + '[' : u']', + '(' : u')', + '{' : u'}', + '?' : u'\u00BF', + '!' : u'\u00A1', + "\'" :u',', + '>' : u'<', + '<' : u'>', + '_' : u'\u203E', + ';' : u'\u061B', + '\u203F' : u'\u2040', + '\u2045' : u'\u2046', + '\u2234' : u'\u2235', +} + +def main(args): + if len(args) < 2: + sys.stderr.write("usage: %s text\n" % (args[0])) + + ostr = " ".join(args[1:]) + istr = "" + for i in ostr: + try: + istr += replacements[i] + except: + istr += i + + istr = istr.encode("utf-8") + print istr + + +if __name__ == "__main__": + sys.exit(main(sys.argv)) +