Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/python-3.x/19.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 3.x python3.6.1 | discord.py |以用户身份登录_Python 3.x_Python 3.6_Discord_Discord.py - Fatal编程技术网

Python 3.x python3.6.1 | discord.py |以用户身份登录

Python 3.x python3.6.1 | discord.py |以用户身份登录,python-3.x,python-3.6,discord,discord.py,Python 3.x,Python 3.6,Discord,Discord.py,我试图制作一些简单的程序,向终端显示收到的消息。现在我试图向用户索要电子邮件和登录密码,但出现了一些奇怪的错误。我的代码是这样的: import discord class DiscordClient(discord.Client): def __init__(self, *args, **kwargs): discord.Client.__init__(self, **kwargs) async def on_ready(self): pr

我试图制作一些简单的程序,向终端显示收到的消息。现在我试图向用户索要电子邮件和登录密码,但出现了一些奇怪的错误。我的代码是这样的:

import discord


class DiscordClient(discord.Client):
    def __init__(self, *args, **kwargs):
        discord.Client.__init__(self, **kwargs)

    async def on_ready(self):
        print('Success!')


if __name__ == '__main__':
    dc = DiscordClient()
    dc.login(input('email : '), input('password : '), bot=False)
    dc.run()
错误是:

Traceback (most recent call last):
  File "/Users/jan/PycharmProjects/TheRealUltron/Main.py", line 16, in <module>
    dc.run()
  File "/Users/jan/TheRealZeldaPython/lib/python3.6/site-packages/discord/client.py", line 519, in run
    self.loop.run_until_complete(self.start(*args, **kwargs))
  File "/Library/Frameworks/Python.framework/Versions/3.6/lib/python3.6/asyncio/base_events.py", line 466, in run_until_complete
    return future.result()
  File "/Users/jan/TheRealZeldaPython/lib/python3.6/site-packages/discord/client.py", line 490, in start
    yield from self.login(*args, **kwargs)
  File "/Users/jan/TheRealZeldaPython/lib/python3.6/site-packages/discord/client.py", line 418, in login
    raise TypeError('login() takes 1 or 2 positional arguments but {} were given'.format(n))
TypeError: login() takes 1 or 2 positional arguments but 0 were given
Unclosed client session
client_session: <aiohttp.client.ClientSession object at 0x103881fd0>
回溯(最近一次呼叫最后一次):
文件“/Users/jan/PycharmProjects/TheRealUltron/Main.py”,第16行,在
dc.run()
文件“/Users/jan/TheRealZeldaPython/lib/python3.6/site packages/discord/client.py”,第519行,正在运行
self.loop.run_直到_完成(self.start(*args,**kwargs))
文件“/Library/Frameworks/Python.framework/Versions/3.6/lib/python3.6/asyncio/base\u events.py”,第466行,在运行中直到完成
返回future.result()
文件“/Users/jan/TheRealZeldaPython/lib/python3.6/site packages/discord/client.py”,第490行,在开始处
self.login的收益(*args,**kwargs)
文件“/Users/jan/TheRealZeldaPython/lib/python3.6/site packages/discord/client.py”,第418行,登录
raise TypeError('login()接受1或2个位置参数,但给出了{}。格式(n))
TypeError:login()接受1或2个位置参数,但提供了0
未关闭的客户端会话
客户端会话:

那么,我做错了什么,或者代码应该是什么样子呢。我用discord.py所做的只是在_message()和一些基本命令上,如send _message()。

客户端。login是一个协同程序,因此应该(未经测试)

wait dc.login(输入('email:')、输入('password:')、bot=False)
请注意,在这种情况下,不需要bot参数。 但是,要使用client.login,您需要使用客户机循环。为了避免这种情况,你可以简单地做

dc.run(电子邮件、密码)
它将同时登录和连接,然后启动循环

之后,您可以在on_ready功能中,从dc.servers获取所需的服务器,以及发送到那里的合适通道,例如,带有dc.send_message的“Hello message”

完成连接后,从DiscordClient类中执行self.close()

Python 3.4的工作示例(根据需要替换Python 3.6的关键字)

导入不一致
导入异步
导入日期时间
类DiscordClient(discord.Client):
定义初始化(self,*args,**kwargs):
discord.Client.\uuuuu init\uuuuuu(self,**kwargs)
@异步协同程序
def on_就绪(自):
服务器=列表(self.servers)
对于服务器中的服务器:
如果server.name==“我的服务器”:
打破
对于server.channels中的通道:
如果channel.name==“常规”:
打破
now=datetime.datetime.now()
从self.send_消息(通道'Api Success!at'+str(现在))
打印('Success!')
self.close()的收益
如果uuuu name uuuuuu='\uuuuuuu main\uuuuuuu':
dc=不协调客户端()
电子邮件=输入(“电子邮件:”)
密码=输入('密码:')
dc.run(电子邮件、密码)