52 lines
1.2 KiB
Python
52 lines
1.2 KiB
Python
|
#!/usr/bin/env python3
|
||
|
|
||
|
special = {
|
||
|
'heart': '\u2764',
|
||
|
'zwsp': '\u200b',
|
||
|
}
|
||
|
|
||
|
colors = {name: code for code, *names in map(str.split, '''
|
||
|
00 white w
|
||
|
01 black b
|
||
|
02 blue navy navyblue
|
||
|
03 green
|
||
|
04 red 05 brown maroon
|
||
|
06 purple
|
||
|
07 orange olive
|
||
|
08 yellow
|
||
|
09 lightgreen lime
|
||
|
10 teal greenbluecyan
|
||
|
11 lightcyan cyan aqua
|
||
|
12 lightblue royalblue royal
|
||
|
13 pink lightpurple fuchsia
|
||
|
14 grey gray
|
||
|
15 lightgrey lightgray silver
|
||
|
99 default
|
||
|
'''.strip().split('\n')) for name in names}
|
||
|
|
||
|
from sys import argv
|
||
|
chan = argv[1]
|
||
|
output = ''
|
||
|
for arg in argv[2:]:
|
||
|
try:
|
||
|
if arg[0] == '-':
|
||
|
arg = arg[1:]
|
||
|
if arg[0] == '-':
|
||
|
output += arg
|
||
|
elif arg in special:
|
||
|
output += special[arg]
|
||
|
elif arg[0] == 'x':
|
||
|
output += chr(int(arg[1:]))
|
||
|
elif ',' in arg:
|
||
|
a, b = arg.split(',')
|
||
|
output += '\x03' + colors[a] + ',' + colors[b]
|
||
|
else:
|
||
|
output += '\x03' + colors[arg]
|
||
|
else:
|
||
|
output += arg
|
||
|
except:
|
||
|
continue
|
||
|
|
||
|
with open('/home/zgrep/offtopiabday/irc.freenode.net/' + chan + '/in', 'w') as fh:
|
||
|
fh.write(output + '\n')
|