mirror of
https://github.com/RafaelSolVargas/Vulkan.git
synced 2025-10-29 16:57:23 +00:00
61 lines
1.7 KiB
Python
61 lines
1.7 KiB
Python
from discord.client import Client
|
|
import requests
|
|
import json
|
|
from config import config
|
|
from discord.ext import commands
|
|
from random import random as rand
|
|
|
|
|
|
class Phrases(commands.Cog):
|
|
"""Deal with the generation of motivational phrases"""
|
|
|
|
def __init__(self, bot: Client):
|
|
self.__bot = bot
|
|
|
|
@commands.command(name='frase', help=config.HELP_FRASE)
|
|
async def phrase(self, ctx):
|
|
"""Send some phrase to the requester"""
|
|
secret = await self.__calculate_rgn()
|
|
if secret != None:
|
|
await ctx.send(secret)
|
|
else:
|
|
phrase = await self.__get_phrase()
|
|
await ctx.send(phrase)
|
|
|
|
async def __calculate_rgn(self):
|
|
"""Calculate the chance from the phrase function return a secret custom message"""
|
|
x = rand()
|
|
if x < 0.15:
|
|
return config.SECRET_MESSAGE
|
|
else:
|
|
return None
|
|
|
|
async def __get_phrase(self):
|
|
"""Get the phrase from the server"""
|
|
tries = 0
|
|
while True:
|
|
tries += 1
|
|
if tries > config.MAX_API_PHRASES_TRIES:
|
|
return config.ERROR_WHILE_REQUEST
|
|
return 'O banco de dados dos cara tá off, bando de vagabundo, tenta depois aí bicho'
|
|
|
|
try:
|
|
response = requests.get(config.PHRASES_API)
|
|
data = json.loads(response.content)
|
|
|
|
phrase = data['quoteText']
|
|
author = data['quoteAuthor']
|
|
|
|
if phrase == '' or author == '':
|
|
continue
|
|
|
|
text = f'{phrase} \nBy: {author}'
|
|
|
|
return text
|
|
except:
|
|
continue
|
|
|
|
|
|
def setup(bot):
|
|
bot.add_cog(Phrases(bot))
|