Browse Source

commune

master
nemesis 2 years ago
parent
commit
917d4d9d88
  1. 5
      asmodee.ini.sample
  2. 38
      asmodee.py

5
asmodee.ini.sample

@ -5,8 +5,8 @@ server = https://instance.tld
admin = @mxid:intance.tld
[MOD]
# liste = roll,quote,biere,stats,liste,horloge,carte,card,cristal,welcome,salut,jdr,gens,va,salon,kick,mails,titre,invidious
liste = roll,quote,biere,stats,liste,horloge,carte,card,cristal,welcome,salut,jdr,gens,va,salon,kick,mails,titre,invidious
# liste = roll,quote,biere,stats,liste,horloge,carte,card,cristal,welcome,salut,jdr,gens,va,salon,kick,mails,titre,invidious,ecowatt,commune
liste = roll,quote,biere,stats,liste,horloge,carte,card,cristal,welcome,salut,jdr,gens,va,salon,kick,mails,titre,invidious,ecowatt,commune
[MAIL]
malt = 0
@ -18,4 +18,3 @@ mport = port
[RTE]
client_id = id
client_secret = secret
call_url = https://digital.iservices.rte-france.com/open_api/ecowatt/v4/signals

38
asmodee.py

@ -28,6 +28,7 @@ USERNAME = ""
oauth = None #Appels RTE
#ecowatt_url = 'https://digital.iservices.rte-france.com/open_api/ecowatt/v4/sandbox/signals'
ecowatt_url = 'https://digital.iservices.rte-france.com/open_api/ecowatt/v4/signals'
commune_url = 'https://geo.api.gouv.fr/communes?nom=<NOM>&fields=codesPostaux,population&format=json'
wattobj = None
# Listes et dictionnaires
@ -1664,6 +1665,35 @@ async def ecowatt(room, message):
alerte = getNiveau(jour["dvalue"])
mess = mess + "La météo RTE du " + jour["jour"][0:10] + " est de niveau " + alerte + " (" + jour["message"] + ")\n"
await msg(room, mess, sender)
async def commune(room, message):
global modules
try:
rmod = modules[room.room_id, 'commune']
except:
modules[room.room_id, 'commune'] = False
if (modules[room.room_id, 'commune']):
args = getMessage(message).split()
sender = getUser(message)
args.pop(0)
mess = ""
if (len(args) > 0):
ville = " ".join(args)
cette_commune = commune_url.replace("<NOM>", ville)
result = oauth.get(cette_commune)
villes = json.loads(result.text)
if (len(villes) > 0):
try:
cite = villes[0]
code = cite["codesPostaux"][0]
pop = cite["population"]
await msg(room, ville + ". CP : " + code + ". Population : " + str(pop), sender)
except:
await msg(room, str(villes), sender)
else:
await msg(room, "Commune non trouvée", sender)
else:
await msg(room, "!commune <nom de la commune", sender)
async def help(room, message): # Aide en message privé
await help_center(room,message,"help",True)
@ -1763,6 +1793,12 @@ async def help_center(room,message,name,private): # Aide sur les commandes dispo
message += "\n- !modo : Gère les modérateurs du salon\n- !module : Gère les modules actifs sur le salon\n\n- Pour plus de details, tapez !" + name + " <commande>\n\nRetrouvez Asmodee sur https://git.ombreport.info/nemesis/asmodee_matrix"
await msg(salon,message,sender, False)
@bot.listener.on_message_event
async def callCommune(room, message):
match = botlib.MessageMatch(room, message, bot, PREFIX)
if match.is_not_from_this_bot() and match.prefix() and match.command("commune"):
await commune(room, message)
@bot.listener.on_message_event
async def callEcowatt(room, message):
match = botlib.MessageMatch(room, message, bot, PREFIX)
@ -1909,7 +1945,7 @@ def main():
USERNAME = "" # Bot's username
PASSWORD = "" # Bot's password
SERVER = "" # Matrix server URL
mods = ["roll", "quote", "biere", "stats", "liste", "horloge", "carte", "card", "cristal", "welcome", "salut", "jdr", "gens", "va", "salon", "kick", "mails", "titre", "invididious", "ecowatt"]
mods = ["roll", "quote", "biere", "stats", "liste", "horloge", "carte", "card", "cristal", "welcome", "salut", "jdr", "gens", "va", "salon", "kick", "mails", "titre", "invididious", "ecowatt", "commune"]
global admins
if ('AUTH' in config):
USERNAME = config['AUTH']['username'] # Bot's username

Loading…
Cancel
Save