adding buddy detection, sanitize urls for urlbot

This commit is contained in:
Thorsten
2015-11-28 15:07:44 +01:00
parent c4e6818fcb
commit 21e06fa2b4
2 changed files with 27 additions and 0 deletions

View File

@@ -978,6 +978,22 @@ def recognize_bots(**args):
'msg': 'Making notes...'
}
}
elif 'I\'ll be back' in args['data']:
# a buddy!
blob = conf_load()
if 'other_bots' not in blob:
blob['other_bots'] = []
if args['reply_user'] not in blob['other_bots']:
blob['other_bots'].append(args['reply_user'])
conf_save(blob)
return {
'event': {
'time': time.time() + 3,
'msg': 'Hey there, buddy!'
}
}
@pluginfunction("set_status", "set bot status", ptypes_COMMAND)

View File

@@ -123,10 +123,20 @@ class UrlBot(IdleBot):
if str is not type(message):
message = '\n'.join(message)
# check other bots, add nospoiler with urls
def _prevent_panic(message, room):
if 'http' in message:
other_bots = conf_load().get("other_bots", ())
users = self.plugin['xep_0045'].getRoster(room)
if set(users).intersection(set(other_bots)):
message = '(nospoiler) %s' % message
return message
if conf('debug_mode', False):
print(message)
else:
if msg_obj:
message = _prevent_panic(message, msg_obj['from'].bare)
self.send_message(
mto=msg_obj['from'].bare,
mbody=message,
@@ -134,6 +144,7 @@ class UrlBot(IdleBot):
)
else: # unset msg_obj == broadcast
for room in self.rooms:
message = _prevent_panic(message, room)
self.send_message(
mto=room,
mbody=message,