dvn*_*vnt 1 python python-3.x discord discord.py
我制作了一个 python 程序,它使用 2 个不同的参数连接到 API,要求输入,然后将结果导出到文本文件。
我想把它变成一个不和谐的机器人,它会做完全相同的事情,但现在会在使用该命令的用户的 DM 上发送所述文件。
原来联系API的部分是:
# Setting the search type input
api.set_type(method)
# Getting the search query input
query = input("Please enter your search query ")
# Setting the search query input
api.set_query(query)
# Getting the results
results = api.lookup()
Run Code Online (Sandbox Code Playgroud)
当谈到导出时,我使用的是:
with open("results.txt", "w") as f:
for dictionary in results:
f.write(dictionary['line'] + "\n")
Run Code Online (Sandbox Code Playgroud)
在第一段代码中,您可以看到我要求输入。不需要它,因为机器人将从命令中获取它,我通过让机器人发送带有参数的消息来测试这是否正确,并且它正确发送了所有内容。这是该消息的代码:
@bot.command(name='search', help='Search for an e-mail, password or keyword')
async def args(ctx, arg1, arg2):
await ctx.send('You sent {} and {}'.format(arg1, arg2))
Run Code Online (Sandbox Code Playgroud)
如果需要机器人的完整代码,这就是我到目前为止所拥有的:
TOKEN = ""
bot = commands.Bot(command_prefix='!')
@bot.command(name='search', help='Search for an e-mail, password or keyword')
async def args(ctx, arg1, arg2):
await ctx.send('You sent {} and {}'.format(arg1, arg2))
arg1 = "login"
arg2 = "teste"
# Now onto implementing and using the API
api = LeakCheckAPI()
api.set_key("")
ip = api.getIP()
limits = api.getLimits()
api.set_type(arg1) # setting the search method
api.set_query(arg2) # setting what we should search
results = api.lookup() # getting the results
bot.run(TOKEN)
Run Code Online (Sandbox Code Playgroud)
行arg1 = "login"和arg2 = "teste"只是用于测试,因为我收到错误“NameError:名称'arg1'未定义”,出于某种奇怪的原因,它也没有从信息。
小智 7
如果您想在文件中写入一些文本并将该文件发送给用户,您可以使用以下示例:
@client.command(pass_context=True)
async def sendtext(ctx, arg1, arg2):
# write to file
with open("result.txt", "w") as file:
file.write('arg1 = {0}, arg2 = {1}'.format(arg1, arg2))
# send file to Discord in message
with open("result.txt", "rb") as file:
await ctx.send("Your file is:", file=discord.File(file, "result.txt"))
Run Code Online (Sandbox Code Playgroud)
结果:
PS 关于不和谐的信息。文档中的文件
| 归档时间: |
|
| 查看次数: |
9566 次 |
| 最近记录: |