async def meme(self, ctx): a = data.datos() grupos = a.get_data() print("meme usado") response = random.choice(grupos["memelinks"]["data"]) if response.rfind("mp4") > -1 or response.rfind("youtu") > -1: await ctx.send(response) else: embed = discord.Embed(color=0x3498DB) embed.set_image(url=response) await ctx.send(embed=embed)
async def debug_images(self, ctx, *arg): a = data.datos() grupos = a.get_data() print("debug_images usado") if ctx.message.author.id == int(devuser) or int( devuser2): #checkeea ke sea un dev for j in a.grupos: if arg[0] == grupos[j]["name"]: for link in grupos[j]["data"]: await ctx.send(str(link)) #imprime todas las img 1 a 1 else: await ctx.send("Solo devs pueden usar este comando")
async def debug_arrays(self, ctx): a = data.datos() grupos = a.get_data() #agarra la info print("debug_arrays usado") if ctx.message.author.id == int(devuser) or int( devuser2): #checkea ke sea un dev el ke lo haya usado for j in a.grupos: await ctx.send( str(j) + " array: " + str(len(grupos[j]["data"])) ) #imprime los datos en ds else: await ctx.send("Solo devs pueden usar este comando")
async def carpincho(self, ctx): a = data.datos() grupos = a.get_data() #agarra datos print("Carpincho usado") response = random.choice( grupos["carplinks"]["data"]) #agarra un link random if response.rfind("mp4") > -1 or response.rfind( "youtu") > -1: # si es mp4 o youtube no le pone marco await ctx.send(response) else: embed = discord.Embed( color=0x3498DB) #si es una img le pone marquito embed.set_image(url=response) await ctx.send(embed=embed)
async def removelink(self, ctx, *args): a = data.datos() grupos = a.get_data() #agarra la data de grupos removedLinks={ "carplinks":0, "rayllumlinks":0, "tdplinks":0, "avatarlinks":0, "memelinks":0, "csmlinks":0, "owlinks":0, } #contador de links removidos print("removelink usado") for x in args: #agarra el argumento if len(args) > 0: #checkea que haya argumentos contador=0 for j in grupos: #checkea en cada grupo if not x in grupos[j]["data"]: #si no esta entre los links z = (x+"\n") else: z = x if z in grupos[j]["data"]: a.rem_data(j, z, x) #saca la data removedLinks[j]=removedLinks[j]+1 #sube el contador print("link removido") else: contador = contador+1 #sube el contador de grupos if contador >= len(grupos): #si todos los grupos son checkeados es porque el link no esta await ctx.send("El link: "+"'"+x+"'"+" no se encuentra en ningun grupo") else: await ctx.send("Escriba el link de la img junto con el comando") for j in grupos: #se escribe cuantos links se eliminaron de que grupos if removedLinks[j] > 0: if removedLinks[j] == 1: await ctx.send(str(removedLinks[j])+" link removido de: "+"'"+str(grupos[j]["name"])+"'") elif removedLinks[j] > 1: await ctx.send(str(removedLinks[j])+" links removidos de: "+"'"+str(grupos[j]["name"])+"'")
import sys, os import discord from discord.ext import commands import data from dotenv import load_dotenv a = data.datos() load_dotenv() devuser = os.getenv('DEV_USER') #checkea los los dev users devuser2 = os.getenv('DEV_USER2') class devcommands(commands.Cog): def __init__(self, bot): self.bot = bot @commands.command( #comando debug arrays para mostrar el largo de todos los grupos aliases=["da"], name='debug_arrays', help="Muestra las arrays de links", brief="Muestra las arrays de links (solo devs)") async def debug_arrays(self, ctx): a = data.datos() grupos = a.get_data() #agarra la info print("debug_arrays usado") if ctx.message.author.id == int(devuser) or int( devuser2): #checkea ke sea un dev el ke lo haya usado for j in a.grupos: await ctx.send(
async def add_link(self, ctx, *args): a = data.datos() grupos = a.get_data() #agarra lso datos quu ya estan ;-; print("addlink usado") if len(args) > 0: #checkea si sikiera se puso algo added=0 #cantidad de links agregados await ctx.send("En cual queres agregar el link?") #se pregunta por grupo InvalidGroup=True while InvalidGroup: InvalidGroup=False embed=discord.Embed(title="Grupos",color=0x3498DB,description=gruposText) await ctx.send(embed=embed) msg = await self.bot.wait_for('message', check=lambda message: message.author == ctx.author) #se espera la respuesta del grupo contador = 0 #contador for j in grupos: #se checkea cada grupo if msg.content == grupos[j]["name"]: #checkea si la respuesta de grupo for arg in args: #checkea los argumentos para ver si hay un link temp = arg.rfind('.') formato = arg[temp:] finFormato = arg.rfind('?') formatoConException = arg[temp:finFormato] youtubeLink = arg.find("youtu") argNewLine =(arg+"\n") #checkea tipo muchas cosas en el archivo y lo guarda en varias variables (capaz la mitad no se si se usan) if arg ==' ': #checkea ke haya algo porke si no hay nada F await ctx.send("Link invalido") print("link invalido") elif arg in grupos[j]["data"] or argNewLine in grupos[j]["data"]: #checkea is el link ya esta en la lista await ctx.send("El link ya esta en la lista") print("link invalido") elif args[0] == 'exception': #checkea si hay excepcion if arg != 'exception': if temp > -1: #checkea si tiene un punto a.set_data(j, arg) #lo guarda en el archivo print("link agregado con exception") added=added+1 #cantidad de links agregados jact = j #nose pake es esto else: await ctx.send("Link invalido") #si no tiene punto es link invalido print("link invalido") break elif args[0] == "continue": #checkea si hay continue await ctx.send("Esperando imagenes") while True: imagenes = await self.bot.wait_for('message', check=lambda message: message.author == ctx.author) #lee msg if imagenes.content == "end": #si pone end frena el loop await ctx.send("Terminado") break for b in imagenes.attachments: #de vuelta agarra como 20 cosas que no se si sirven para algo img = b.url temp = img.rfind('.') formato = img[temp:] imgNewLine = (img+"\n") if formato in formatos: #checkea si esta en formatos if img not in grupos[j]["data"] or imgNewLine not in grupos[j]["data"]: #checkea que no este ya en la lista a.set_data(j, img) #agrega el link added=added+1 jact = j #???? I dunno bruh else: await ctx.send("El link ya esta en la lista") #si ya esta en la lista se informa print("link invalido") else: await ctx.send("formato invalido") await ctx.send("Formatos:"+str(formatos)) elif temp > -1: #en caso de que no ke no haya nada especial se checkea formatos y se agrega el link if formato in formatos or formato in formatoConException or youtubeLink > -1: #se checkea si es formato o youtube a.set_data(j, arg) #se agrega el link added=added+1 jact = j #ke no se capo NOSE else: await ctx.send("formato invalido") await ctx.send("Formatos:"+str(formatos)) else: #si nada funciona es porque el link es invalido como tu abuela await ctx.send("Link invalido") print("link invalido") elif msg.content == "cancel": #para cancelar el grupo await ctx.send("Operacion cancelada") break else: contador = contador+1 #contador para cantidad de grupos if contador >= len(grupos): #se checkea para la cantidad de grupos await ctx.send("Grupo Invalido") #si es un grupo invalido como tu abuela InvalidGroup=True if added == 1: #cantidad de links igual a 1 await ctx.send(str(added)+" link agregado a "+"'"+str(grupos[jact]["name"])+"'") elif added > 1: #cantidad de links agregados mayor a uno se dice await ctx.send(str(added)+" links agregados a "+"'"+str(grupos[jact]["name"])+"'") else: #si no se escribio nada await ctx.send("Escriba un link junto con el comando")
def echo_message(message): global bandera mensaje = message.text chat_id = message.chat.id #Micro Registro de usuarios archivo = open('RegistroDeUsuarios.txt', 'a') archivo.write(time.strftime("%d/%m/%y")) archivo.write("|") archivo.write(time.strftime("%H:%M:%S")) archivo.write("|") archivo.write(str(chat_id)) archivo.write("|") archivo.write(mensaje) archivo.write("\n") archivo.close() #Fin Micro registro de usuarios # Ejecución de ordenes # if 'CLIMA' in mensaje.upper() or 'TEMP' in mensaje.upper(): general = '' post = data.datos() if len(post) < 1: bot.send_message( chat_id, 'El servicio esta fallando y no es por este software') bot.send_message(chat_id, "¿Servidor Caído?") else: for lista in post: general += lista bot.send_message(chat_id, general) print 'Todo bien, mensaje enviado a: ' + str(chat_id) bandera = bandera + 1 elif 'GRAPH' in mensaje.upper() or 'DIBU' in mensaje.upper(): print 'Pidieron graficos' #urllib.urlretrive("http://ema.unsam.edu.ar/OutsideTempHistory.gif",'temperatura.gif') #img = open('temperatura.gif', 'rb') #img.close() temp = 'http://ema.unsam.edu.ar/OutsideTempHistory.gif' hum = 'http://ema.unsam.edu.ar/OutsideHumidityHistory.gif' pre = 'http://ema.unsam.edu.ar/BarometerHistory.gif' bot.send_message(chat_id, 'Estamos preparando las Imágenes') os.system('wget ' + temp) print 'Imagen Descargada, enviando a chat' bot.send_chat_action(chat_id, 'upload_photo') bot.send_message(chat_id, 'Temperatura últimas 24hs') img = open('OutsideTempHistory.gif', 'rb') bot.send_photo(chat_id, img) img.close() os.system('wget ' + hum) print 'Imagen Descargada, enviando a chat' bot.send_chat_action(chat_id, 'upload_photo') img = open('OutsideHumidityHistory.gif', 'rb') bot.send_message(chat_id, 'Humedad últimas 24hs') bot.send_photo(chat_id, img) img.close() os.system('wget ' + pre) print 'Imagen Descargada, enviando a chat' bot.send_chat_action(chat_id, 'upload_photo') img = open('BarometerHistory.gif', 'rb') bot.send_message(chat_id, 'Presión últimas 24hs') bot.send_photo(chat_id, img) img.close() os.system('rm *.gif') print 'Archivos gifs borrados' bot.send_message(chat_id, 'Para más información, consulte la ayuda') bandera = bandera + 1 elif 'SOLAR' in mensaje.upper(): sol = 'http://ema.unsam.edu.ar/SolarRadHistory.gif' os.system('wget ' + sol) print 'Imagen Descargada, enviando a chat' bot.send_chat_action(chat_id, 'upload_photo') img = open('SolarRadHistory.gif', 'rb') bot.send_message(chat_id, 'Radiación solar, últimas 24hs') bot.send_photo(chat_id, img) img.close() os.system('rm *.gif') print 'Archivos gifs borrados' bot.send_message( chat_id, 'Gracias (:\nPara más información, consulte la ayuda') bandera = bandera + 1 elif 'WIND' in mensaje.upper(): v1 = 'http://ema.unsam.edu.ar/WindDirection.gif' v2 = 'http://ema.unsam.edu.ar/WindSpeedHistory.gif' v3 = 'http://ema.unsam.edu.ar/WindSpeed.gif' os.system('wget ' + v1) os.system('wget ' + v2) os.system('wget ' + v3) bot.send_message(chat_id, 'Vientos, últimas 24hs') #v1 bot.send_chat_action(chat_id, 'upload_photo') img = open('WindDirection.gif', 'rb') bot.send_photo(chat_id, img) img.close() #v2 bot.send_chat_action(chat_id, 'upload_photo') img = open('WindSpeedHistory.gif', 'rb') bot.send_photo(chat_id, img) img.close() #v3 bot.send_chat_action(chat_id, 'upload_photo') img = open('WindSpeed.gif', 'rb') bot.send_photo(chat_id, img) img.close() bot.send_message( chat_id, 'Gracias (:\nPara mas información, consulte la ayuda.') print 'Borrando Archivos utilizados...' os.system('rm *.gif') else: msg104 = " No Entendi..\nFijate las opciones a la izquierda del -Clip-" bot.send_message(chat_id, msg104) print '-> enviado a ' + str(chat_id) bandera = bandera + 1 print 'Se equivocaron,Registro= ' + str(bandera)