Browse Source

ffpb: add !neighbours querying a node's neighbours

Helge Jung 9 years ago
parent
commit
74bb89e31f
1 changed files with 19 additions and 0 deletions
  1. 19 0
      modules/ffpb.py

+ 19 - 0
modules/ffpb.py

@@ -771,6 +771,25 @@ def ffpb_providers(bot, trigger):
 	providers.sort(key=lambda x: x['count'], reverse=True)
 	bot.say('Unsere Top 5 Provider: ' + ', '.join(['{0} ({1:.0f}%)'.format(x['name'], x['percentage']) for x in providers[:5]]))
 
+@willie.module.commands('neighbours')
+def ffpb_neighbours(bot, trigger):
+	target_name = trigger.group(2)
+	node = ffpb_findnode_from_botparam(bot, target_name, ensure_recent_alfreddata=False)
+	if node is None: return None
+
+	nodeid = node['node_id'] if 'node_id' in node else node['mac'].replace(':','')
+	cave_result = json.load(urllib2.urlopen('http://[fdca:ffee:ff12:a255::253]:8888/node/{0}/neighbours'.format(nodeid)))
+
+	d = '&'.join([ str(n) for n in cave_result ])
+	req = urllib2.urlopen('http://[fdca:ffee:ff12:a255::253]:8888/idmac2name', d)
+
+	neighbours = []
+	for n in req:
+		ident,name = n.strip().split('=')
+		neighbours.append(name)
+
+	bot.say('; '.join(neighbours))
+
 @willie.module.commands('exec-on-peer')
 def ffpb_remoteexec(bot, trigger):
 	"""Remote Execution fuer FFPB_Knoten"""