将Adf.ly与Discord.py

时间:2018-08-21 22:13:42

标签: discord.py

所以我正在使用MurkAPI 并获得了帮助,但是我似乎无法得到它,所以当有人执行$ adfly和一个URL(即adfly缩短链接)时,机器人会通过以下方式返回链接API并进入机器人。这是我当前的代码。

@commands.command(pass_context=True)
async def adfly(self, ctx):
    async with aiohttp.ClientSession() as session:
            await self.client.say(await fetch_adfly(session))
async def fetch_adfly(session):
    async with session.get(adfly_url) as response:
        return await response.text()

我有MURKKEY,但是我无法使URL部分工作。

adfly_url = 'https://murkapi.com/adfly.php?key={}&url={}'.format(MURKKEY)

1 个答案:

答案 0 :(得分:0)

如果fetch_adfly是用来处理将url转换为adfly url的,则需要该函数中的会话。除了传递会话外,我们还想传递要转换的url。这可能会给我们类似的东西:

async def fetch_adfly(url):
  async with aiohttp.ClientSession() as session:
    adfly_url = 'https://murkapi.com/adfly.php?key={}&url={}'.format(MURKKEY, url)
    async with session.get(adfly_url) as response:
        return await response.text()

然后,您想在命令中添加一个url参数并将其传递给函数:

@commands.command(pass_context=True)
async def adfly(self, ctx, url):
  await self.client.say(await fetch_adfly(url))

FWIW,我建议使用validating URLs