mirror of https://github.com/stijndcl/didier
				
				
				
			Inspire
							parent
							
								
									a23ee3671a
								
							
						
					
					
						commit
						2638c5a3c4
					
				|  | @ -7,7 +7,7 @@ from discord.ext import commands | ||||||
| from database.crud.links import get_link_by_name | from database.crud.links import get_link_by_name | ||||||
| from database.schemas import Link | from database.schemas import Link | ||||||
| from didier import Didier | from didier import Didier | ||||||
| from didier.data.apis import urban_dictionary | from didier.data.apis import inspirobot, urban_dictionary | ||||||
| from didier.data.embeds.google import GoogleSearch | from didier.data.embeds.google import GoogleSearch | ||||||
| from didier.data.scrapers import google | from didier.data.scrapers import google | ||||||
| 
 | 
 | ||||||
|  | @ -48,6 +48,13 @@ class Other(commands.Cog): | ||||||
|             embed = GoogleSearch(results).to_embed() |             embed = GoogleSearch(results).to_embed() | ||||||
|             await ctx.reply(embed=embed, mention_author=False) |             await ctx.reply(embed=embed, mention_author=False) | ||||||
| 
 | 
 | ||||||
|  |     @commands.hybrid_command(name="inspire", description="Generate an InspiroBot quote.") | ||||||
|  |     async def inspire(self, ctx: commands.Context): | ||||||
|  |         """Generate an [InspiroBot](https://inspirobot.me/) quote.""" | ||||||
|  |         async with ctx.typing(): | ||||||
|  |             link = await inspirobot.get_inspirobot_quote(self.client.http_session) | ||||||
|  |             await ctx.reply(link, mention_author=False, ephemeral=False) | ||||||
|  | 
 | ||||||
|     async def _get_link(self, name: str) -> Optional[Link]: |     async def _get_link(self, name: str) -> Optional[Link]: | ||||||
|         async with self.client.postgres_session as session: |         async with self.client.postgres_session as session: | ||||||
|             return await get_link_by_name(session, name.lower()) |             return await get_link_by_name(session, name.lower()) | ||||||
|  |  | ||||||
|  | @ -0,0 +1,16 @@ | ||||||
|  | from http import HTTPStatus | ||||||
|  | 
 | ||||||
|  | from aiohttp import ClientSession | ||||||
|  | 
 | ||||||
|  | from didier.exceptions import HTTPException | ||||||
|  | 
 | ||||||
|  | __all__ = ["get_inspirobot_quote"] | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  | async def get_inspirobot_quote(http_session: ClientSession) -> str: | ||||||
|  |     """Get a new InspiroBot quote""" | ||||||
|  |     async with http_session.get("https://inspirobot.me/api?generate=true") as response: | ||||||
|  |         if response.status != HTTPStatus.OK: | ||||||
|  |             raise HTTPException(response.status) | ||||||
|  | 
 | ||||||
|  |         return await response.text() | ||||||
		Loading…
	
		Reference in New Issue