예제 #1
0
 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)
예제 #2
0
 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")
예제 #3
0
 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")
예제 #4
0
 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)
예제 #5
0
	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"])+"'") 
예제 #6
0
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(
예제 #7
0
	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")
예제 #8
0
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)