ajout commande news
This commit is contained in:
parent
6d282f28e4
commit
485a442583
2 changed files with 49 additions and 2 deletions
|
@ -49,3 +49,4 @@ Pour trouver ton token reddit, va sur [ce site](https://www.reddit.com/prefs/app
|
||||||
| [.dog](https://code.up8.edu/Anri/bot-licence/-/blob/master/cogs/internet.py#L90) | Envoie un chien depuis internet |
|
| [.dog](https://code.up8.edu/Anri/bot-licence/-/blob/master/cogs/internet.py#L90) | Envoie un chien depuis internet |
|
||||||
| [.chifumi](https://code.up8.edu/Anri/bot-licence/-/blob/master/cogs/games.py#L17) | Fais une partie de pierre papier ciseaux contre le bot |
|
| [.chifumi](https://code.up8.edu/Anri/bot-licence/-/blob/master/cogs/games.py#L17) | Fais une partie de pierre papier ciseaux contre le bot |
|
||||||
| [.plusoumoins](https://code.up8.edu/Anri/bot-licence/-/blob/master/cogs/games.py#L49) | Fais une partie de guessing game contre le bot |
|
| [.plusoumoins](https://code.up8.edu/Anri/bot-licence/-/blob/master/cogs/games.py#L49) | Fais une partie de guessing game contre le bot |
|
||||||
|
| [.news](https://code.up8.edu/Anri/bot-licence/-/blob/master/cogs/internet.py#L105) | Info random dans le domaine de l'informatique |
|
||||||
|
|
|
@ -1,7 +1,6 @@
|
||||||
import discord, praw, json, requests, datetime
|
import discord, praw, json, requests, datetime, time, feedparser
|
||||||
from discord.ext import commands
|
from discord.ext import commands
|
||||||
from random import randint, choice
|
from random import randint, choice
|
||||||
import time
|
|
||||||
from tokens import token_reddit as token # à l'importation de l'extension, le fichier se retrouve dans le '/' et non dans 'cogs/', ignorez l'erreur pylint si il y a
|
from tokens import token_reddit as token # à l'importation de l'extension, le fichier se retrouve dans le '/' et non dans 'cogs/', ignorez l'erreur pylint si il y a
|
||||||
|
|
||||||
def setup(bot):
|
def setup(bot):
|
||||||
|
@ -101,3 +100,50 @@ class Internet(commands.Cog):
|
||||||
await ctx.message.add_reaction(emoji = '✅')
|
await ctx.message.add_reaction(emoji = '✅')
|
||||||
message = await ctx.send(embed=embed)
|
message = await ctx.send(embed=embed)
|
||||||
return await message.add_reaction('❤️')
|
return await message.add_reaction('❤️')
|
||||||
|
|
||||||
|
@commands.command(name='news', aliases=['rss'])
|
||||||
|
async def _news(self, ctx, *, arg = ""):
|
||||||
|
"""Info random dans le domaine de l'informatique\n ➡ Syntaxe: .news/rss [site/liste]"""
|
||||||
|
|
||||||
|
rss_website = {
|
||||||
|
"anandtech": "https://www.anandtech.com/rss/",
|
||||||
|
"arstechnica": "https://arstechnica.com/feed",
|
||||||
|
"certssi": "https://www.cert.ssi.gouv.fr/feed/",
|
||||||
|
"frenchlegion": "http://frenchlegion.eu/feed/",
|
||||||
|
"guru3d": "https://www.guru3d.com/news_rss",
|
||||||
|
"hardwareleaks": "https://hardwareleaks.com/feed",
|
||||||
|
"lesnumeriques": "https://www.lesnumeriques.com/rss.xml",
|
||||||
|
"overclock3d": "https://www.overclock3d.net/xmlfeed",
|
||||||
|
"overclocking": "https://overclocking.com/feed/",
|
||||||
|
"pcper": "https://pcper.com/feed",
|
||||||
|
"rtings": "https://www.rtings.com/reviews-rss.xml",
|
||||||
|
"storagereview": "https://www.storagereview.com/feed",
|
||||||
|
"techpowerupnews": "https://www.techpowerup.com/rss/news",
|
||||||
|
"techpowerupreviews": "https://www.techpowerup.com/rss/reviews",
|
||||||
|
"techspot": "https://www.techspot.com/backend.xml",
|
||||||
|
"videocardz": "https://videocardz.com/feed",
|
||||||
|
"vonguru": "https://vonguru.fr/feed/"
|
||||||
|
}
|
||||||
|
|
||||||
|
choix_site = choice([key for key in rss_website.keys()])
|
||||||
|
|
||||||
|
if arg.lower() in rss_website: # si on specifie la source
|
||||||
|
choix_site = arg.lower()
|
||||||
|
|
||||||
|
if arg.lower() == "liste":
|
||||||
|
embed = discord.Embed(title = "Liste des sources", color = randint(0, 0xFFFFFF), description = ", ".join([key.capitalize() for key in rss_website.keys()]))
|
||||||
|
return await ctx.send(embed = embed)
|
||||||
|
|
||||||
|
newsfeed = feedparser.parse(rss_website[choix_site])
|
||||||
|
info = choice([newsfeed.entries[i] for i in range(0, 10 if len(newsfeed.entries) > 10 else len(newsfeed.entries))])
|
||||||
|
|
||||||
|
desc = "Pas de description trouvée." if "<p>" in info.description or "</a>" in info.description else info.description
|
||||||
|
embed = discord.Embed(title = info.title, color = randint(0, 0xFFFFFF), description = f"[**lien de la news**]({info.link})\n\n{desc}")
|
||||||
|
try:
|
||||||
|
embed.set_author(name = info.author)
|
||||||
|
except:
|
||||||
|
pass
|
||||||
|
embed.set_footer(text = f"News de {choix_site.capitalize()}")
|
||||||
|
#embed.set_image(url = submission.url)
|
||||||
|
await ctx.send(embed = embed)
|
||||||
|
await ctx.message.add_reaction(emoji = '✅')
|
||||||
|
|
Reference in a new issue