Introduction
Introduction Statistics Contact Development Disclaimer Help
Add smile support to annna. - annna - Annna the nice friendly bot.
git clone git://bitreich.org/annna/ git://enlrupgkhuxnvlhsf6lc3fziv5h2hhfrinws6…
Log
Files
Refs
Tags
README
---
commit 2628bd5e8d723212320200938832049a502acbaa
parent 69bb3614ffb26988dfe3210716e422ee922094ec
Author: Annna Robert-Houdin <[email protected]>
Date: Thu, 26 Dec 2024 18:25:55 +0100
Add smile support to annna.
Diffstat:
M annna-message-common | 4 ++++
A smile | 73 +++++++++++++++++++++++++++++…
2 files changed, 77 insertions(+), 0 deletions(-)
---
diff --git a/annna-message-common b/annna-message-common
@@ -1216,6 +1216,10 @@ case "${text}" in
"For humanity!")
annna-say -s "${server}" -c "${channel}" "${user}, for humanity! gophe…
;;
+":)"|":))"|":)))"|":-)"|":-))"|":-)))"|":--)"|":--))"|":--)))"|":---)"|":----)…
+ smileface="$(smile)"
+ annna-say -s "${server}" -c "${channel}" -- "${smileface}"
+ ;;
"${ircuser}, please dance."|"\\o/"|"\^o^/")
dancemoves="$(dance-moves-gen)"
annna-say -s "${server}" -c "${channel}" -- "${dancemoves}"
diff --git a/smile b/smile
@@ -0,0 +1,73 @@
+#!/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):
+ horiz_hair = ["w", "W", "~"]
+ horiz_eyes = ["o", "O",
+ "𓁹", "𓁺", "𓁻", "𓁼", "𓁽", "𓁾", "𓁿"…
+ "{.}", "(.)", "{o}", "{O}", "(o)", "(.)", "{.}",
+ "𓂂", "𓏗", "𓇳", "𓇸", "𓃉",
+ "0"]
+ horiz_nose = ["m", "v", "i", "."]
+ horiz_moustache = ["~~~", "===", "---", "w"]
+ horiz_mouth = ["\\/", "\\_/",
+ "𓂋", "𓂌", "𓂍", "𓂎", "𓂏", "𓂑", "𓂒"…
+ ]
+
+ vert_hair = ["d", "c|", "<|", "~"]
+ vert_eyes = [":", "8", ";"]
+ vert_moustache = ["{", "#", "B", "3"]
+ vert_nose = ["-"]
+ vert_mouth = [")", "}", "P", "p", "b", "*", ">", "D", "]", "O", "o"]
+ vert_tie = ["x", "X"]
+ vert_body = ["|-<", "|o<", "|O<", "|~<"]
+
+ try:
+ opts, largs = getopt.getopt(args[1:], "hb")
+ except getopt.GetoptError as err:
+ print(str(err))
+ usage(args[0])
+
+ vertical=1
+ withbody=0
+ for o, a in opts:
+ if o == "-h":
+ usage(args[0])
+ elif o == "-b":
+ withbody=1
+ else:
+ assert False, "unhandled option"
+
+ ostr = ""
+ if vertical == 1:
+ if random.randrange(1, 10) > 7:
+ ostr += random.choice(vert_hair)
+ ostr += random.choice(vert_eyes)
+ nose = random.choice(vert_nose)
+ for i in range(1, random.randrange(2, 5)):
+ ostr += nose
+ if random.randrange(1, 10) > 8:
+ ostr += random.choice(vert_moustache)
+ ostr += random.choice(vert_mouth)
+ if random.randrange(1, 10) > 8:
+ ostr += random.choice(vert_tie)
+ if withbody == 1:
+ ostr += random.choice(vert_body)
+
+ print("%s" % (ostr))
+
+ return 0
+
+if __name__ == "__main__":
+ sys.exit(main(sys.argv))
+
You are viewing proxied material from bitreich.org. The copyright of proxied material belongs to its original authors. Any comments or complaints in relation to proxied material should be directed to the original authors of the content concerned. Please see the disclaimer for more details.