首页 > 解决方案 > 如何在 cPanel (o2switch) 上运行 Python Discord 机器人

问题描述

我开始在 cPanel (o2switch) 上托管我的 Discord 机器人,但我不知道如何运行该机器人。我必须为我的应用程序定义一个入口点,但我不知道它应该是什么。我试图将它设置为一个只返回的函数"Launched!",但这不起作用。

# imports

def application():
    return "Launched!"

# bot code

有谁知道我应该为我的机器人运行添加什么代码?


编辑:添加了“跑步者”的东西。机器人仍然没有启动,但我有这个日志:

App 16078 output: /opt/passenger-5.3.7-5.el7.cloudlinux/src/helper-scripts/wsgi-loader.py:26: DeprecationWarning: the imp module is deprecated in favour of importlib; see the module's documentation for alternative uses
App 16078 output:   import sys, os, re, imp, threading, signal, traceback, socket, select, struct, logging, errno
App 16078 output: [ pid=16078, time=2020-01-15 16:18:24,002 ]: PyNaCl is not installed, voice will NOT be supported
App 16078 output: [ pid=16078, time=2020-01-15 16:18:24,033 ]: WSGI application raised an exception!
App 16078 output: Traceback (most recent call last):
App 16078 output:   File "/opt/passenger-5.3.7-5.el7.cloudlinux/src/helper-scripts/wsgi-loader.py", line 199, in main_loop
App 16078 output:     socket_hijacked = self.process_request(env, input_stream, client)
App 16078 output:   File "/opt/passenger-5.3.7-5.el7.cloudlinux/src/helper-scripts/wsgi-loader.py", line 333, in process_request
App 16078 output:     result = self.app(env, start_response)
App 16078 output:   File "/home/bist1484/virtualenv/bot/3.7/lib/python3.7/site-packages/discord/client.py", line 598, in run
App 16078 output:     return future.result()
App 16078 output:   File "/home/bist1484/virtualenv/bot/3.7/lib/python3.7/site-packages/discord/client.py", line 579, in runner
App 16078 output:     await self.start(*args, **kwargs)
App 16078 output:   File "/home/bist1484/virtualenv/bot/3.7/lib/python3.7/site-packages/discord/client.py", line 542, in start
App 16078 output:     await self.login(*args, bot=bot)
App 16078 output: TypeError: login() takes 2 positional arguments but 4 positional arguments (and 1 keyword-only argument) were given

标签: pythonpython-3.xdiscorddiscord.pydiscord.py-rewrite

解决方案


cPanel 专为网络托管而设计,而不是为 Discord 机器人等应用程序而设计。
应用程序入口点适用于支持 WSGI 的 Web 应用程序框架。它不适用于 Discord 机器人。


推荐阅读