This commit is contained in:
Maël 2017-07-05 13:58:06 -04:00
parent 8bb5a46f24
commit 7d972d9009
33 changed files with 58 additions and 39 deletions

0
.idea/cogue.iml Normal file → Executable file
View file

0
.idea/inspectionProfiles/profiles_settings.xml Normal file → Executable file
View file

0
.idea/misc.xml Normal file → Executable file
View file

0
.idea/modules.xml Normal file → Executable file
View file

0
.idea/workspace.xml Normal file → Executable file
View file

0
LICENSE Normal file → Executable file
View file

0
bot.py Normal file → Executable file
View file

13
cogs/admin.py Normal file → Executable file
View file

@ -1,10 +1,8 @@
from discord.ext import commands
from random import choice, shuffle
import aiohttp
import asyncio
import time
import discord
import platform
from .utils import checks
class Admin:
@ -33,7 +31,7 @@ class Admin:
self.bot.unload_extension(module)
self.bot.load_extension(module)
await self.bot.say("Nice !")
except Exception as e:
except Exception as e: #TODO : A virer dans l'event on_error
await self.bot.say(':( Erreur :')
await self.bot.say('{}: {}'.format(type(e).__name__, e))
else:
@ -46,17 +44,16 @@ class Admin:
number = number + 1
await self.bot.purge_from(ctx.message.channel, limit=number)
await self.bot.say("Hello World !")
except Exception as e:
except Exception as e: #TODO : A virer dans l'event on_error
await self.bot.say(':sob: Une erreur est survenue : \n {}: {}'.format(type(e).__name__, e))
@checks.is_owner()
@commands.command(name='say', pass_context=True, hidden=True)
async def _say(self, ctx, dire):
async def _say(self, ctx, *dire:str):
try:
arg = ctx.message.content.split("say ")
await self.bot.say(arg[1])
await self.bot.say(dire)
await self.bot.delete_message(ctx.message)
except Exception as e:
except Exception as e: #TODO : A virer dans l'event on_error
await self.bot.say(':sob: Une erreur est survenue : \n {}: {}'.format(type(e).__name__, e))
@checks.is_owner()

0
cogs/basics.py Normal file → Executable file
View file

16
cogs/ci.py Normal file → Executable file
View file

@ -84,6 +84,22 @@ class Identity:
conn.commit()
await self.bot.say(":clap: Bievenue à toi {} dans le communisme {} ! Fait ``.ci`` pour plus d'informations !".format(ctx.message.author.name, ctx.message.server.name))
@_ci.command(pass_context=True, name="upimage")
async def ci_image(self, ctx):
try:
cursor.execute("""SELECT id, userid FROM users WHERE userid=?""", (ctx.message.author.id,))
existansw = cursor.fetchone()
if existansw != None:
cursor.execute("""UPDATE users SET useravatar = ? WHERE userid = ?""", (ctx.message.author.avatar_url, ctx.message.author.id))
conn.commit()
await self.bot.say(ctx.message.author.mention + "> :ok_hand: Carte d'identité mise à jour; Sympa ton nouvel avatar :wink: !")
else:
await self.bot.say(ctx.message.author.mention + "> :x: Veuillez enregistrer votre carte d'identité pour commencer !")
except Exception as e: #TODO : A virer dans l'event on_error
await self.bot.say(':( Erreur veuillez contacter votre administrateur :')
await self.bot.say('{}: {}'.format(type(e).__name__, e))
@_ci.command(pass_context=True, name="setconfig")
async def ci_setconfig(self, ctx, args_):
try:

11
cogs/funs.py Normal file → Executable file
View file

@ -22,6 +22,11 @@ class Funs:
embed.set_thumbnail(url=user.avatar_url)
await self.bot.say(embed=embed)
@commands.command(pass_context=True)
async def poke(self, user : discord.Member):
"""Poke quelqu'un"""
await self.bot.say(":clap: Hey {0} tu t'es fait poker par {1}.".format(user.mention, ctx.message.author))
@commands.command()
async def btcprice(self):
"""Le prix du BTC"""
@ -56,7 +61,7 @@ class Funs:
@commands.command()
async def ethylotest(self):
"""Ethylotest simulator 2018"""
results_poulet = ["Désolé mais mon ethylotest est sous Windows Vista, merci de patienter...", "_(ethylotest)_ ``Une erreur est survenue. Windows cherche une solution à se prolbème...``", "Mais j'l'ai foutu où ce p*** d'ethylotest de m..... bordel fait ch..... tab....", "C'est pas possible z'avez cassé l'ethylotest !"]
results_poulet = ["Désolé mais mon ethylotest est sous Windows Vista, merci de patienter...", "_(ethylotest)_ ``Une erreur est survenue. Windows cherche une solution à se problème...``", "Mais j'l'ai foutu où ce p*** d'ethylotest de m*** bordel fait ch*** tab***", "C'est pas possible z'avez cassé l'ethylotest !"]
results_client = ["D'accord, il n'y a pas de problème à cela je suis complètement clean", "Bien sur si c'est votre devoir !", "Suce bi** !", "J'ai l'air d'être bourré ?", "_laissez moi prendre un bonbon à la menthe..._"]
result_p = random.choice(results_poulet)
@ -71,8 +76,8 @@ class Funs:
@commands.command()
async def coin(self):
"""Coin flip simulator 2025"""
starts_msg = ["Je lance la pièce !", "C'est partit !", "C'est une pièce de d'un cent faut pas la perdre", "C'est une pièce de d'un euro faut pas la perdre", "Je lance !"]
results_coin = ["{0} pile", "{0} face", "{1} Heu c'est quoi pile c'est quoi face enfaite ?", "{1} How shit, je crois que je l'ai perdu", "{1} Et bim je te vol ta pièce !", "{0} Oh une erreur d'impression y'a ni pile ni face !"]
starts_msg = ["Je lance la pièce !", "C'est parti !", "C'est une pièce d'un cent faut pas la perdre", "C'est une pièce d'un euro faut pas la perdre", "Je lance !"]
results_coin = ["{0} pile", "{0} face", "{1} Heu c'est quoi pile c'est quoi face enfaite ?", "{1} Oh shit, je crois que je l'ai perdue", "{1} Et bim je te vol ta pièce !", "{0} Oh une erreur d'impression il n'y a ni pile ni face !"]
start = random.choice(starts_msg)
result = random.choice(results_coin)

6
cogs/search.py Normal file → Executable file
View file

@ -69,7 +69,7 @@ class Search:
@_search.command(pass_context=True, name="wikipedia")
async def search_wikipedia(self, ctx, args):
"""Fait une recherche sur wikipd"""
try:
try: # C'est quoi ce try-except de la mort ?
wait = await self.bot.say("_Je cherche..._")
results = wikipedia.search(args)
nbmr = 0
@ -109,11 +109,11 @@ class Search:
await self.bot.delete_message(wait)
await self.bot.say(embed=em)
except wikipedia.exceptions.PageError:
except wikipedia.exceptions.PageError: #TODO : A virer dans l'event on_error
await self.bot.say(":open_mouth: Une **erreur interne** est survenue, si cela ce reproduit contactez votre administrateur ou faites une Issue sur ``github`` !")
except UnboundLocalError:
await self.bot.say(":interrobang: Veuillez choisir une réaction valide !")
except:
except DisambiguationError: #TODO : A virer dans l'event on_error
await self.bot.say(":open_mouth: Une **erreur interne** est survenue, si cela ce reproduit contactez votre administrateur ou faites une Issue sur ``github`` !")
except IndexError:
await self.bot.say(" :interrobang: Veuillez entrer un terme de recherche !")

0
cogs/utility.py Normal file → Executable file
View file

0
cogs/utils/__init__.py Normal file → Executable file
View file

0
cogs/utils/__pycache__/__init__.cpython-35.pyc Normal file → Executable file
View file

0
cogs/utils/__pycache__/checks.cpython-35.pyc Normal file → Executable file
View file

0
cogs/utils/checks.py Normal file → Executable file
View file

0
cogs/utils/config.py Normal file → Executable file
View file

0
cogs/utils/formats.py Normal file → Executable file
View file

0
cogs/utils/maps.py Normal file → Executable file
View file

0
cogs/utils/paginator.py Normal file → Executable file
View file

0
logs/NOT A EMPTY FOLDER Normal file → Executable file
View file

0
params.json Normal file → Executable file
View file

11
readme.md Normal file → Executable file
View file

@ -1,21 +1,22 @@
# Titre du projet
# Tuxbot
[![forthebadge](http://forthebadge.com/images/badges/contains-cat-gifs.svg)](http://forthebadge.com)
[![forthebadge](https://forthebadge.com/images/badges/made-with-python.svg)](http://forthebadge.com)
TuxBot, un bot discord écrit en Python.
Ici se trouve le code source de ce bot proventant du serveur Discord "Aide GNU/Linux-Fr", il à été créé spécialement pour ce discord, si vous souhaitez l'utiliser il vous faudra modifier ``settings.json`` et ``cogs/utils/checks.py`` ;)
Ici ce trouve le code source du bot provenant du serveur Discord [Aide GNU/Linux-Fr"](https://discord.gg/79943dJ "Rejoindre le serveur"), il à été créé spécialement pour ce discord, si vous souhaitez l'utiliser il vous faudra modifier ``settings.json`` et ``cogs/utils/checks.py`` ;)
### Pré-requis
Il vous faut :
- Un ordinateur sous **linux** avec une connexion à l'internet
- Python3.5 ou +
- Un ordinateur sous **GNU/Linux** avec une connexion à internet;
- Python3.5 ou + ;
- Installer ``requirements.txt`` (avec ``pip install -r requirements.txt`` par ex)
### Installation
Une fois les prérequis installés et les paramètres édités placez vous dans le repertoire du bot et lancez ``bot.py`` avec python3 (ex: ``python3 bot.py``)
Une fois les pré-requis installés et les paramètres édités, placez vous dans le repertoire du bot et lancez ``bot.py`` avec python3 (ex: ``python3 bot.py``)
## Démarrage

0
requirements.txt Normal file → Executable file
View file

5
texts/ci-info.md Normal file → Executable file
View file

@ -2,8 +2,9 @@ La carte d'identité est un petit système dans tuxbot permetant de vous démarq
**Liste des commandes : **
-> ci : Affiche l'aide sur les cartes d'identité
-> ci show _@pseudo_ : Affiche la carte d'identité de _pseudo_
-> ci show _pseudo_ : Affiche la carte d'identité de _pseudo_
-> ci register : Vous enregistre dans la base de donnée des cartes d'identité
-> ci setos _nom de l'os_ : Défini le système d'exploitation
-> ci setconfig _votre configuration pc_ : Défini la configuration de votre ordinateur
-> ci setcountry : Défini votre Pays
-> ci setcountry : Défini votre pays
-> ci upimage : Met à jour votre image si vous l'avez changé :wink:

2
texts/clocks.md Normal file → Executable file
View file

@ -1,5 +1,5 @@
_Pour utiliser les Horloges utilisez la commande : **clock **nom de l'horloge_
_Pour utiliser les horloges utilisez la commande : **clock ** ville_
-> Montreal (Canada, QC)
-> Vancouver (Canada, BC)
-> New-York / N-Y (U.S.A.)

27
texts/help.md Normal file → Executable file
View file

@ -1,12 +1,3 @@
**Commandes diverses** :
-> info : Affiche des informations sur le bot
-> help : Affiche ce message
-> ci : Affiche l'aide et des infos sur le système de carte d'identité
-> clock list: Affiche la liste des horloges des villes
-> ping : Ping le bot
-> github : Affiche le repos Github du Bot :heart:
**Commandes utilitaires**
-> afk : Signaler son absence
-> back : Signaler son retour
@ -14,23 +5,31 @@
-> ytdiscover : Découvrir des chaines youtube
-> search _site_ _contenu_ : Fait une recherche sur un site (.search pour plus d'infos)
-> avatar _@pseudo_ : Récupère l'avatar de _@pseudo_
-> poke _@pseudo_ : Poke _@pseudo_
**Commandes Funs**
-> joke : Affiche une blague aléatoire
-> ethylotest : Simule un ethylotest détraqué
-> pokemon : Lance un combat de pokémons aléatoires
-> coin : Fait un pile ou face
-> coin : Simule un pile ou face
-> randomcat : Affiche des image de chats :3
**Commandes Carte d'Identité**
-> ci : Affiche l'aide sur les cartes d'identité
-> ci show _@pseudo_ : Affiche la carte d'identité de _pseudo_
-> ci show _pseudo_ : Affiche la carte d'identité de _pseudo_
-> ci register : Vous enregistre dans la base de donnée des cartes d'identité
-> ci setos _nom de l'os_ : Défini le système d'exploitation
-> ci setconfig _votre configuration pc_ : Défini la configuration de votre ordinateur
-> ci setcountry : Défini votre Pays
-> ci setcountry : Défini votre pays
-> ci upimage : Met à jour votre image si vous l'avez changé :wink:
** Commandes d'administration **
-> say _votre message_ : fait le bot écrire
**Commandes d'administration**
-> say _votre message_ : Envoi un message de la part du bot
-> clear _nombre_ : Supprime _nombre_ de messages
**Commandes diverses** :
-> info : Affiche des informations sur le bot
-> help : Affiche ce message
-> clock list: Affiche la liste des horloges des villes
-> ping : Ping le bot
-> github : Affiche le repos Github du Bot :heart:

0
texts/info.md Normal file → Executable file
View file

4
texts/jokes.json Normal file → Executable file
View file

@ -1,7 +1,7 @@
{
"1": {"content": "Les hyperboles sa sert à manger des hyper-soupes :3 (Lawl!)", "author": "Crumble14 (bukkit.fr)"},
"2": {"content": "Le comble de Windows, cest que pour larrêter, il faut cliquer sur démarrer.", "author": "Keke142 (bukkit.fr)"},
"3": {"content": "Chrome: On est le 8 avril 2016 13h02 \n Safari: On est le 8 avril 2016 12h02 \n Internet Explorer: On est le... **[Internet Explorer a cessé de fonctionner, veuillez redémarrer votre machine]**", "author": "NyoSan"},
"3": {"content": "Chrome: On est le 8 avril 2016 13h02 \n Safari: On est le 8 avril 2016 13h02 \n Internet Explorer: On est le... **[Internet Explorer a cessé de fonctionner, veuillez redémarrer votre machine]**", "author": "NyoSan"},
"4": {"content": "Il y a 10 types de personnes dans le monde, ceux qui comprennent le binaire et les autres.", "author": "Dartasen (bukkit.fr)"},
"5": {"content": "C'est une requête SQL qui rentre dans un bar et qui s'adresse à deux tables \"Puis-je vous joindre ?\".\"", "author": "Dartasen (bukkit.fr)"},
"6": {"content": "Combien de développeurs faut-il pour remplacer une ampoule grillée ? Aucun, c'est un problème Hardware.", "author": "Dartasen (bukkit.fr)"},
@ -11,4 +11,4 @@
"10": {"content": "Le 1er janvier 1970 c'est le jour où il y a eu le plus de plantages. (cf : http://bit.ly/2rArLVe)", "author": "NyoSan"},
"11": {"content": "Pourquoi est-ce que les girafes aiment magasiner à bas prix? Tout est une question de cou.", "author": "Maxx_Qc (bukkit.fr)"},
"12": {"content": "``Même éteint le hackeur peut pirater l'ordi`` \"Le SuperGeek tournant sous Ubuntu (ou Windows)\"", "author": "Outout"}
}
}

0
texts/pokemons.json Normal file → Executable file
View file

2
texts/search.md Normal file → Executable file
View file

@ -1,5 +1,5 @@
_Attention ! : entrez vos termes de recherche sans espaces !_
_Attention ! entrez vos termes de recherche sans espaces !_
Pour effectuer une recherche utilisez la commande ``.search {site_de_recherche} {termes_recherche}``
-> [**docubuntu**](https://doc.ubuntu-fr.org) : Effectuer une recherche sur un paquet dans la Documentation du site ubuntu-fr.org.
-> [**wikipedia**](https://fr.wikipedia.org) : Effectuer une recherche sur l'encyclopédie libre Wikipedia en Français !

0
texts/ytb.json Normal file → Executable file
View file