async def get_response(self, post): if post.get("text"): embed = discord.Embed() embed.title = post["title"] embed.url = post["url"] embed.description = post["text"] return base.Response("", {}, embed) else: image = post["url"] title = post["title"] ret = f"**{title}** | {image}" return base.Response(ret, {}, None)
async def get_post(self, number): title, episode_id = await self._get_id(number) url = ("https://www.webtoons.com/en/challenge" "/i-want-to-be-a-cute-anime-girl/image-change/" f"viewer?title_no=349416&episode_no={episode_id}") page = await self.get_url(url) soup = bs4.BeautifulSoup(page, "html.parser") files = {} images = soup.find(id="_imageList") for idx, image in enumerate(images.find_all("img")): image_url = image.attrs["data-url"] headers = {"Referer": "http://www.webtoons.com"} image_file = await self.get_url(image_url, headers=headers, type="bin") files[f"{idx}.jpg"] = io.BytesIO(image_file) caption = f"**{title}** | *I Want To Be a Cute Anime Girl!*" embed = discord.Embed(title=caption, url=url) return base.Response(None, files, embed)
async def get_response(self, video): embed = discord.Embed() embed.title = video["snippet"]["title"] embed.description = video["snippet"]["description"] video_id = video["id"]["videoId"] embed.url = f"https://youtube.com/watch?v={video_id}" embed.set_image(url=video["snippet"]["thumbnails"]["high"]["url"]) return base.Response("", {}, embed)
async def get_response(self, state): ip, description, players, sample = state embed = discord.Embed(title=ip) description = "**Description**\n" + description playerstr = f"Players: **{players[0]}**/{players[1]}" if sample: online = "\n" + "\n".join(f"• {player}" for player in sample) else: online = "" embed.description = description + "\n" + playerstr + online return base.Response(None, {}, embed)
async def get_response(self, state): embed = discord.Embed(title="Breq Services Status", url="https://status.breq.dev") status_emojis = { 0: "📴", # Paused 1: "📴", # Not checked yet 2: "🟢", # Up 8: "🔴", # Seems Down 9: "🔴", # Down } embed.description = ( f"{status_emojis[state['status']]} {state['friendly_name']}: " f"{state['custom_uptime_ratio']}%") return base.Response("", {}, embed)
async def make_response(self, message, emoji, amount): "Create a packed Response about a message for posting on a board" content = f"{emoji} **{amount}** {message.channel.mention}" embed = discord.Embed() embed.set_author(name=message.author.display_name, icon_url=message.author.avatar_url) embed.description = message.content embed.timestamp = message.edited_at or message.created_at if message.attachments: embed.set_image(url=message.attachments[0].proxy_url) embed.add_field( name="Jump to message", value=f"**on [#{message.channel.name}]({message.jump_url})**") return base.Response(content=content, embed=embed)
async def get_post(self, number): max_no = json.loads( await self.get_url("https://k.breq.dev/testcomic/info.json"))["num"] if number == "random": url = ("https://k.breq.dev/testcomic/" f"{random.randint(1, max_no)}.json") elif number == "latest": url = f"https://k.breq.dev/testcomic/{max_no}.json" else: url = f"https://k.breq.dev/testcomic/{number}.json" try: comic = json.loads(await self.get_url(url)) except json.decoder.JSONDecodeError: raise commands.CommandError(f"Comic {number} not found!") embed = discord.Embed() embed.title = f"**#{comic['title']}** | `test comic`" return base.Response(None, {}, embed)
async def get_post(self, number): if number == "random": max_no = (await self.get_url("https://xkcd.com/info.0.json", type="json"))["num"] url = f"https://xkcd.com/{random.randint(1, max_no)}/info.0.json" elif number == "latest": url = "https://xkcd.com/info.0.json" else: url = f"https://xkcd.com/{number}/info.0.json" try: comic = await self.get_url(url, type="json") except json.decoder.JSONDecodeError: raise commands.CommandError(f"Comic {number} not found!") embed = discord.Embed(url=f"https://xkcd.com/{comic['num']}/") embed.title = f"**#{comic['num']}** | {comic['title']} | *xkcd*" # embed.set_image(url=comic["img"]) embed.set_footer(text=comic["alt"]) image = await self.get_url(comic["img"], type="bin") return base.Response(None, {"xkcd.jpg": io.BytesIO(image)}, embed)
async def get_response(self, state): embed = discord.Embed(title=f"**{state['ticker']}** ({state['name']})") embed.add_field(name="Price", value=state["price"]) return base.Response(None, {}, embed)