Skip to content
Extraits de code Groupes Projets
Valider 7b0aa4f3 rédigé par Elliu's avatar Elliu
Parcourir les fichiers

Merge branch 'dev-birthday' into 'main'

Feature : Birthday

See merge request !2
parents cc76f166 0f5747f0
Aucune branche associée trouvée
Aucune étiquette associée trouvée
1 requête de fusion!2Feature : Birthday
......@@ -5,6 +5,8 @@ import random
import re
import csv
import aiohttp
import requests
import datetime
from dotenv import load_dotenv
......@@ -14,6 +16,7 @@ TOKEN = os.getenv('DISCORD_TOKEN')
SECRET = os.getenv('REDDIT_SECRET')
REDDIT_ID = os.getenv('REDDIT_ID')
REDDIT_AGENT = os.getenv('REDDIT_AGENT')
HTTP_USER_AGENT = "Mozilla/5.0 (X11; Linux x86_64; rv:84.0) Gecko/20100101 Firefox/84.0"
PROXY = os.getenv('PROXY')
postLimit = int(os.getenv('POST_LIMIT'))
......@@ -79,6 +82,29 @@ def create_embed(post,author,posturl):
def send_waifu(post, author, posturl):
return 'https://www.reddit.com' + str(posturl) + ' [' + str(author) + ']'
def verify_date(day,month):
try:
datetime.datetime.strptime(day+"-"+month,"%d-%m")
except ValueError:
return False
return True
def create_embed_birthday(day,month):
embed = discord.Embed(
color = discord.Colour.blue()
)
if month[0]=='0':month=month[1]
if day[0]=='0':day = day[1]
url = "http://www.animecharactersdatabase.com/api_series_characters.php?month="+month+"&day="+day
request = requests.get(url,headers = {"User-Agent":HTTP_USER_AGENT})
request_json = request.json()
characters = request_json["characters"]
selected_character = characters[random.randint(0,len(characters))]
embed.set_image(url=selected_character["character_image"])
embed.description = selected_character["name"]
return embed
refresh_all_posts()
if PROXY != "":
......@@ -96,18 +122,26 @@ async def on_message(message):
return
lower = message.content.lower()
if lower == "show me an help" or lower == "show me a help":
mess = "Usage : ``show me a xxxx`` or ``show me an xxxx`` or ``show me more xxxx``\nCurrently, I can show :```"
mess = "Usage : ``show me a xxxx`` or ``show me an xxxx`` or ``show me more xxxx`` or ``show me a/an/more bd DAY MONTH``\nCurrently, I can show :```"
for entry in subreddits.values():
mess += entry.name + " with a picture from r/" + entry.subName + "\n"
mess += "\n```"
await message.channel.send(mess)
if ("show me a" in lower) or ("show me more" in lower):
birthday = re.search(r"show me (an?|more) bd ([0-9]+) ([0-9]+)", lower)
if birthday != None:
day = birthday.group(2)
month = birthday.group(3)
print('asking for birthday : ' + day + "/" + month)
if(not verify_date(day,month)):
return
await message.channel.send(embed = create_embed_birthday(day,month))
name = re.search(r"show me (an?|more) ([\S]+)s?", lower)
if name == None:
return
else:
name = name.group(2)
if name in subreddits.keys():
print('asking for the following entry: ' + name)
postnumber = random.randint(1,subreddits[name].totalimgs)
......
0% Chargement en cours ou .
You are about to add 0 people to the discussion. Proceed with caution.
Terminez d'abord l'édition de ce message.
Veuillez vous inscrire ou vous pour commenter