python - 如何在 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
解决方案
cPanel 专为网络托管而设计,而不是为 Discord 机器人等应用程序而设计。
应用程序入口点适用于支持 WSGI 的 Web 应用程序框架。它不适用于 Discord 机器人。
推荐阅读
- css - 在小分辨率下,一个 div 覆盖另一个(flex)
- spring - Spring Thymeleaf:表单验证不起作用
- java - 如何避免从超类转换?
- javascript - React Github 页面 react-router 路由查询参数
- javascript - 具有路由的 React 更新 API 调用
- javascript - 在不同的下拉选择中清除输入值
- python - 是否有一种更快的方法来使用 2d numpy 布尔数组从 2d 数组中选择元素,但具有 2d 输出?
- java - 通过 java 中的 clone() 复制数组未按预期工作
- php - 手动添加 cookie - Curl PHP
- swift - 从 SceneDelegate 加载视图时出现黑屏