#python #discord.py #discord.py-rewrite
#python #discord.py #discord.py-переписать
Вопрос:
Я новичок на серверах Minecraft и серверах в целом, и мой друг хочет, чтобы я помог ему создать discord-бота для его сервера. Вчера я наткнулся на этот модуль вызова mcstatus в python, и я решил использовать его для получения информации с его сервера Minecraft, чтобы узнать, подключен он к сети или нет, но всякий раз, когда я пытаюсь подключиться к его серверу mincraft, он возвращается с ошибкой ConnectionRefuseError: [WinError 10061] Соединение не может быть установлено, потому чтоцелевая машина активно отказалась, это мой код:
async def online(ctx):
try:
server = MinecraftServer.lookup("95.217.72.187:56043")
status = server.status()
await ctx.send(status)
except:
await ctx.send("server is offline")
и ошибка
Ignoring exception in command online:
Traceback (most recent call last):
File "C:UsersUSERAppDataLocalProgramsPythonPython38-32libsite-packagesdiscordextcommandscore.py", line 85, in wrapped
ret = await coro(*args, **kwargs)
File "C:/Users/USER/PycharmProjects/untitled5/tcpe bot.py", line 51, in online
status = server.status()
File "C:UsersUSERAppDataRoamingPythonPython38site-packagesmcstatusserver.py", line 56, in status
connection = TCPSocketConnection((self.host, self.port))
File "C:UsersUSERAppDataRoamingPythonPython38site-packagesmcstatusprotocolconnection.py", line 131, in __init__
self.socket = socket.create_connection(addr, timeout=timeout)
File "C:UsersUSERAppDataLocalProgramsPythonPython38-32libsocket.py", line 808, in create_connection
raise err
File "C:UsersUSERAppDataLocalProgramsPythonPython38-32libsocket.py", line 796, in create_connection
sock.connect(sa)
ConnectionRefusedError: [WinError 10061] No connection could be made because the target machine actively refused it
The above exception was the direct cause of the following exception:
Traceback (most recent call last):
File "C:UsersUSERAppDataLocalProgramsPythonPython38-32libsite-packagesdiscordextcommandsbot.py", line 903, in invoke
await ctx.command.invoke(ctx)
File "C:UsersUSERAppDataLocalProgramsPythonPython38-32libsite-packagesdiscordextcommandscore.py", line 859, in invoke
await injected(*ctx.args, **ctx.kwargs)
File "C:UsersUSERAppDataLocalProgramsPythonPython38-32libsite-packagesdiscordextcommandscore.py", line 94, in wrapped
raise CommandInvokeError(exc) from exc
discord.ext.commands.errors.CommandInvokeError: Command raised an exception: ConnectionRefusedError: [WinError 10061] No connection could be made because the target machine actively refused it
кто-нибудь знает, почему это происходит, и, пожалуйста, помогите, я попробовал mcipc, но он показывает ту же ошибку, почему это происходит, и это из-за проблемы с моими кодами или из-за моего брандмауэра и прочего
Ответ №1:
Безусловно, где-то между машиной, на которой запущен скрипт, и сервером есть брандмауэр. Протокол состояния ожидает, что TCP-порт будет открыт. Исключение показывает, что соединение активно отклоняется.