Add dance moves generator 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 2c92636c06626c950c4b4f45fdf8eca00cab9afc DIR parent e81fdcd6c0b1cf7df00202ab6b37fd4a7cc3b2a1 HTML Author: Annna Robert-Houdin <annna@bitreich.org> Date: Tue, 8 Jun 2021 14:30:31 +0200 Add dance moves generator to annna. Diffstat: M annna-message-common | 8 ++------ A dance-moves-gen | 46 +++++++++++++++++++++++++++++++ 2 files changed, 48 insertions(+), 6 deletions(-) --- DIR diff --git a/annna-message-common b/annna-message-common @@ -635,12 +635,8 @@ case "${text}" in annna-say -c "${channel}" "${user}, for humanity!" ;; "${botname}, please dance."|"\o/") - if [ $(($RANDOM % 2)) -gt 0 ]; - then - annna-say -c "${channel}" ',o/ o/_ _\o _o_ \o\' - else - annna-say -c "${channel}" '\o7 -o7 _o7 .o7 \o. \o_ \o- \o7' - fi + dancemoves="$(dance-moves-gen)" + annna-say -c "${channel}" "${dancemoves}" ;; "${botname}, please dance with me.") if [ $(($RANDOM % 2)) -gt 0 ]; DIR diff --git a/dance-moves-gen b/dance-moves-gen @@ -0,0 +1,46 @@ +#!/usr/bin/env python +# coding=utf-8 + +import os +import sys +import getopt +import random + +def usage(app): + app = os.path.basename(app) + print("usage: %s [-h] [-n moves]" % (app), file=sys.stderr) + sys.exit(1) + +def main(args): + moves = ["\o/", "\o_", "_o_", "_o/", "~o/", "\o~", "~o~", + "-o/", "\o-", "-o-", "\o.", ".o/", ".o.", + "\o7", "_o7", "-o7", ".o7", "~o7"] + try: + opts, largs = getopt.getopt(args[1:], "h") + except getopt.GetoptError as err: + print(str(err)) + usage(args[0]) + + nmoves = 8 + + for o, a in opts: + if o == "-h": + usage(args[0]) + elif o == "-n": + nmoves = int(a) + else: + assert False, "unhandled option" + + ostr = "" + for i in range(nmoves): + if len(ostr) > 0: + ostr += " " + ostr += random.choice(moves) + + print("%s" % (ostr)) + + return 0 + +if __name__ == "__main__": + sys.exit(main(sys.argv)) +