Et hop
This commit is contained in:
parent
8bb5a46f24
commit
7d972d9009
33 changed files with 58 additions and 39 deletions
0
.idea/cogue.iml
Normal file → Executable file
0
.idea/cogue.iml
Normal file → Executable file
0
.idea/inspectionProfiles/profiles_settings.xml
Normal file → Executable file
0
.idea/inspectionProfiles/profiles_settings.xml
Normal file → Executable file
0
.idea/misc.xml
Normal file → Executable file
0
.idea/misc.xml
Normal file → Executable file
0
.idea/modules.xml
Normal file → Executable file
0
.idea/modules.xml
Normal file → Executable file
0
.idea/workspace.xml
Normal file → Executable file
0
.idea/workspace.xml
Normal file → Executable file
0
LICENSE
Normal file → Executable file
0
LICENSE
Normal file → Executable file
0
bot.py
Normal file → Executable file
0
bot.py
Normal file → Executable file
13
cogs/admin.py
Normal file → Executable file
13
cogs/admin.py
Normal file → Executable file
|
@ -1,10 +1,8 @@
|
||||||
from discord.ext import commands
|
from discord.ext import commands
|
||||||
from random import choice, shuffle
|
|
||||||
import aiohttp
|
import aiohttp
|
||||||
import asyncio
|
import asyncio
|
||||||
import time
|
import time
|
||||||
import discord
|
import discord
|
||||||
import platform
|
|
||||||
from .utils import checks
|
from .utils import checks
|
||||||
|
|
||||||
class Admin:
|
class Admin:
|
||||||
|
@ -33,7 +31,7 @@ class Admin:
|
||||||
self.bot.unload_extension(module)
|
self.bot.unload_extension(module)
|
||||||
self.bot.load_extension(module)
|
self.bot.load_extension(module)
|
||||||
await self.bot.say("Nice !")
|
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(':( Erreur :')
|
||||||
await self.bot.say('{}: {}'.format(type(e).__name__, e))
|
await self.bot.say('{}: {}'.format(type(e).__name__, e))
|
||||||
else:
|
else:
|
||||||
|
@ -46,17 +44,16 @@ class Admin:
|
||||||
number = number + 1
|
number = number + 1
|
||||||
await self.bot.purge_from(ctx.message.channel, limit=number)
|
await self.bot.purge_from(ctx.message.channel, limit=number)
|
||||||
await self.bot.say("Hello World !")
|
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))
|
await self.bot.say(':sob: Une erreur est survenue : \n {}: {}'.format(type(e).__name__, e))
|
||||||
|
|
||||||
@checks.is_owner()
|
@checks.is_owner()
|
||||||
@commands.command(name='say', pass_context=True, hidden=True)
|
@commands.command(name='say', pass_context=True, hidden=True)
|
||||||
async def _say(self, ctx, dire):
|
async def _say(self, ctx, *dire:str):
|
||||||
try:
|
try:
|
||||||
arg = ctx.message.content.split("say ")
|
await self.bot.say(dire)
|
||||||
await self.bot.say(arg[1])
|
|
||||||
await self.bot.delete_message(ctx.message)
|
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))
|
await self.bot.say(':sob: Une erreur est survenue : \n {}: {}'.format(type(e).__name__, e))
|
||||||
|
|
||||||
@checks.is_owner()
|
@checks.is_owner()
|
||||||
|
|
0
cogs/basics.py
Normal file → Executable file
0
cogs/basics.py
Normal file → Executable file
16
cogs/ci.py
Normal file → Executable file
16
cogs/ci.py
Normal file → Executable file
|
@ -84,6 +84,22 @@ class Identity:
|
||||||
conn.commit()
|
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))
|
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")
|
@_ci.command(pass_context=True, name="setconfig")
|
||||||
async def ci_setconfig(self, ctx, args_):
|
async def ci_setconfig(self, ctx, args_):
|
||||||
try:
|
try:
|
||||||
|
|
11
cogs/funs.py
Normal file → Executable file
11
cogs/funs.py
Normal file → Executable file
|
@ -22,6 +22,11 @@ class Funs:
|
||||||
embed.set_thumbnail(url=user.avatar_url)
|
embed.set_thumbnail(url=user.avatar_url)
|
||||||
await self.bot.say(embed=embed)
|
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()
|
@commands.command()
|
||||||
async def btcprice(self):
|
async def btcprice(self):
|
||||||
"""Le prix du BTC"""
|
"""Le prix du BTC"""
|
||||||
|
@ -56,7 +61,7 @@ class Funs:
|
||||||
@commands.command()
|
@commands.command()
|
||||||
async def ethylotest(self):
|
async def ethylotest(self):
|
||||||
"""Ethylotest simulator 2018"""
|
"""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..._"]
|
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)
|
result_p = random.choice(results_poulet)
|
||||||
|
@ -71,8 +76,8 @@ class Funs:
|
||||||
@commands.command()
|
@commands.command()
|
||||||
async def coin(self):
|
async def coin(self):
|
||||||
"""Coin flip simulator 2025"""
|
"""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 !"]
|
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} 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 !"]
|
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)
|
start = random.choice(starts_msg)
|
||||||
result = random.choice(results_coin)
|
result = random.choice(results_coin)
|
||||||
|
|
6
cogs/search.py
Normal file → Executable file
6
cogs/search.py
Normal file → Executable file
|
@ -69,7 +69,7 @@ class Search:
|
||||||
@_search.command(pass_context=True, name="wikipedia")
|
@_search.command(pass_context=True, name="wikipedia")
|
||||||
async def search_wikipedia(self, ctx, args):
|
async def search_wikipedia(self, ctx, args):
|
||||||
"""Fait une recherche sur wikipd"""
|
"""Fait une recherche sur wikipd"""
|
||||||
try:
|
try: # C'est quoi ce try-except de la mort ?
|
||||||
wait = await self.bot.say("_Je cherche..._")
|
wait = await self.bot.say("_Je cherche..._")
|
||||||
results = wikipedia.search(args)
|
results = wikipedia.search(args)
|
||||||
nbmr = 0
|
nbmr = 0
|
||||||
|
@ -109,11 +109,11 @@ class Search:
|
||||||
await self.bot.delete_message(wait)
|
await self.bot.delete_message(wait)
|
||||||
await self.bot.say(embed=em)
|
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`` !")
|
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:
|
except UnboundLocalError:
|
||||||
await self.bot.say(":interrobang: Veuillez choisir une réaction valide !")
|
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`` !")
|
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:
|
except IndexError:
|
||||||
await self.bot.say(" :interrobang: Veuillez entrer un terme de recherche !")
|
await self.bot.say(" :interrobang: Veuillez entrer un terme de recherche !")
|
||||||
|
|
0
cogs/utility.py
Normal file → Executable file
0
cogs/utility.py
Normal file → Executable file
0
cogs/utils/__init__.py
Normal file → Executable file
0
cogs/utils/__init__.py
Normal file → Executable file
0
cogs/utils/__pycache__/__init__.cpython-35.pyc
Normal file → Executable file
0
cogs/utils/__pycache__/__init__.cpython-35.pyc
Normal file → Executable file
0
cogs/utils/__pycache__/checks.cpython-35.pyc
Normal file → Executable file
0
cogs/utils/__pycache__/checks.cpython-35.pyc
Normal file → Executable file
0
cogs/utils/checks.py
Normal file → Executable file
0
cogs/utils/checks.py
Normal file → Executable file
0
cogs/utils/config.py
Normal file → Executable file
0
cogs/utils/config.py
Normal file → Executable file
0
cogs/utils/formats.py
Normal file → Executable file
0
cogs/utils/formats.py
Normal file → Executable file
0
cogs/utils/maps.py
Normal file → Executable file
0
cogs/utils/maps.py
Normal file → Executable file
0
cogs/utils/paginator.py
Normal file → Executable file
0
cogs/utils/paginator.py
Normal file → Executable file
0
logs/NOT A EMPTY FOLDER
Normal file → Executable file
0
logs/NOT A EMPTY FOLDER
Normal file → Executable file
0
params.json
Normal file → Executable file
0
params.json
Normal file → Executable file
11
readme.md
Normal file → Executable file
11
readme.md
Normal file → Executable file
|
@ -1,21 +1,22 @@
|
||||||
# Titre du projet
|
# Tuxbot
|
||||||
|
|
||||||
[![forthebadge](http://forthebadge.com/images/badges/contains-cat-gifs.svg)](http://forthebadge.com)
|
[![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.
|
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
|
### Pré-requis
|
||||||
|
|
||||||
Il vous faut :
|
Il vous faut :
|
||||||
|
|
||||||
- Un ordinateur sous **linux** avec une connexion à l'internet
|
- Un ordinateur sous **GNU/Linux** avec une connexion à internet;
|
||||||
- Python3.5 ou +
|
- Python3.5 ou + ;
|
||||||
- Installer ``requirements.txt`` (avec ``pip install -r requirements.txt`` par ex)
|
- Installer ``requirements.txt`` (avec ``pip install -r requirements.txt`` par ex)
|
||||||
|
|
||||||
### Installation
|
### 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
|
## Démarrage
|
||||||
|
|
||||||
|
|
0
requirements.txt
Normal file → Executable file
0
requirements.txt
Normal file → Executable file
5
texts/ci-info.md
Normal file → Executable file
5
texts/ci-info.md
Normal file → Executable file
|
@ -2,8 +2,9 @@ La carte d'identité est un petit système dans tuxbot permetant de vous démarq
|
||||||
|
|
||||||
**Liste des commandes : **
|
**Liste des commandes : **
|
||||||
-> ci : Affiche l'aide sur les cartes 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 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 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 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
2
texts/clocks.md
Normal file → Executable 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)
|
-> Montreal (Canada, QC)
|
||||||
-> Vancouver (Canada, BC)
|
-> Vancouver (Canada, BC)
|
||||||
-> New-York / N-Y (U.S.A.)
|
-> New-York / N-Y (U.S.A.)
|
||||||
|
|
25
texts/help.md
Normal file → Executable file
25
texts/help.md
Normal file → Executable 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**
|
**Commandes utilitaires**
|
||||||
-> afk : Signaler son absence
|
-> afk : Signaler son absence
|
||||||
-> back : Signaler son retour
|
-> back : Signaler son retour
|
||||||
|
@ -14,23 +5,31 @@
|
||||||
-> ytdiscover : Découvrir des chaines youtube
|
-> ytdiscover : Découvrir des chaines youtube
|
||||||
-> search _site_ _contenu_ : Fait une recherche sur un site (.search pour plus d'infos)
|
-> search _site_ _contenu_ : Fait une recherche sur un site (.search pour plus d'infos)
|
||||||
-> avatar _@pseudo_ : Récupère l'avatar de _@pseudo_
|
-> avatar _@pseudo_ : Récupère l'avatar de _@pseudo_
|
||||||
|
-> poke _@pseudo_ : Poke _@pseudo_
|
||||||
|
|
||||||
**Commandes Funs**
|
**Commandes Funs**
|
||||||
-> joke : Affiche une blague aléatoire
|
-> joke : Affiche une blague aléatoire
|
||||||
-> ethylotest : Simule un ethylotest détraqué
|
-> ethylotest : Simule un ethylotest détraqué
|
||||||
-> pokemon : Lance un combat de pokémons aléatoires
|
-> 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
|
-> randomcat : Affiche des image de chats :3
|
||||||
|
|
||||||
**Commandes Carte d'Identité**
|
**Commandes Carte d'Identité**
|
||||||
-> ci : Affiche l'aide sur les cartes 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 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 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 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**
|
**Commandes d'administration**
|
||||||
-> say _votre message_ : fait le bot écrire
|
-> say _votre message_ : Envoi un message de la part du bot
|
||||||
-> clear _nombre_ : Supprime _nombre_ de messages
|
-> 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
0
texts/info.md
Normal file → Executable file
2
texts/jokes.json
Normal file → Executable file
2
texts/jokes.json
Normal file → Executable file
|
@ -1,7 +1,7 @@
|
||||||
{
|
{
|
||||||
"1": {"content": "Les hyperboles sa sert à manger des hyper-soupes :3 (Lawl!)", "author": "Crumble14 (bukkit.fr)"},
|
"1": {"content": "Les hyperboles sa sert à manger des hyper-soupes :3 (Lawl!)", "author": "Crumble14 (bukkit.fr)"},
|
||||||
"2": {"content": "Le comble de Windows, c’est que pour l’arrêter, il faut cliquer sur démarrer.", "author": "Keke142 (bukkit.fr)"},
|
"2": {"content": "Le comble de Windows, c’est que pour l’arrê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)"},
|
"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)"},
|
"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)"},
|
"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)"},
|
||||||
|
|
0
texts/pokemons.json
Normal file → Executable file
0
texts/pokemons.json
Normal file → Executable file
2
texts/search.md
Normal file → Executable file
2
texts/search.md
Normal file → Executable 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}``
|
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.
|
-> [**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 !
|
-> [**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
0
texts/ytb.json
Normal file → Executable file
Loading…
Reference in a new issue