import pexpect
import random
import re
+import util
admins = []
fd = open('ADMINS', 'r')
yield from not_admin(message)
return
- # debug
log.debug('Admin command: {}'.format(raw))
- if command == 'debug':
- m = re.match(r'\bdebug\s+(o(?:ff|n))\b', raw.lower())
+
+ if command == 'avatar':
+ # avatar
+ url = None
+ m = re.match(r'\bavatar\s+(\S+)', raw.lower())
if m is not None:
- arg = m.group(1)
- if arg == 'on':
- log.setLevel(logging.DEBUG)
- elif arg == 'off':
- log.setLevel(logging.WARN)
- yield from maybe_say(message.channel, 'purr')
+ url = m.group(1)
+ elif len(message.attachments):
+ url = message.attachments[0]['url']
+ if url is None:
+ log.debug('No URL for avatar')
+ yield from say(message.channel, 'zzz')
return
- yield from say(message.channel, 'Sorry!')
+ fd = util.open_url(url)
+ if fd is None:
+ log.debug('Failed to open URL {} for avatar'.format(url))
+ yield from say(message.channel, 'yelp!')
+ return
+ yield from client.edit_profile(avatar = fd.read())
+ fd.close()
+
+ elif command == 'debug':
+ # debug
+ m = re.match(r'\bdebug\s+(o(?:ff|n))\b', raw.lower())
+ if m is None:
+ yield from say(message.channel, 'Sorry!')
+ return
+
+ arg = m.group(1)
+ if arg == 'on':
+ log.setLevel(logging.DEBUG)
+ elif arg == 'off':
+ log.setLevel(logging.WARN)
+
+ yield from maybe_say(message.channel, 'purr')
@asyncio.coroutine
def do_edi(message, command, raw, p):
'admin': {
'fn': do_admin,
'args': [],
- 'commands': 'debug'
+ 'commands': ['avatar', 'debug']
},
'edi': {
'fn': do_edi,
def on_ready():
print('Logged in as {}#{}'.format(client.user.name, client.user.id))
print('Admins are: {}'.format(admins))
- #yield from client.edit_profile(avatar = open('DELTA-FURRYCAThires.png', 'rb').read())
@client.event
@asyncio.coroutine