Как сделать бота, который прослушивает сообщения и отправляет их на другой сервер?Python

Программы на Python
Ответить
Anonymous
 Как сделать бота, который прослушивает сообщения и отправляет их на другой сервер?

Сообщение Anonymous »

Я пытаюсь создать бота, который прослушивает сообщения в канале и отправляет их на мой частный сервер. Я не до конца разбираюсь в программировании, поэтому полагался на некоторые онлайн-источники.

Я уже создал бота, который получает новые сообщения в канале, а затем переносит их в частный канал. Я не могу найти GitHub, где находился код, так как я перешел на другую ОС. Теперь это не так: мне нужен бот, который будет отправлять журналы на мой частный сервер на случай, если кто-то из моих сотрудников случайно удалит один из журналов/несколько журналов. Затем я столкнулся с похожим вопросом: Как отправить сообщение на другой сервер | Discord Bot, но я понял, что это JavaScript, а не Python. Тем не менее, я перешел на этот JavaScript и попробовал его.

Вот бот Python, который я получил с GitHub. Он создает вставку прослушанного сообщения и отправляет его на указанный канал (#message-log). Он также включает аватар и имя автора

Код: Выделить всё

@client.event
async def on_message(message):
guild = message.guild
log_channel = discord.utils.get(guild.channels, name="message-log")
if log_channel is None:
await client.process_commands(message)
return
if not message.author.bot:
embed=discord.Embed(
color=0xffd700,
timestamp=datetime.datetime.utcnow(),
description="in {}:\n{}".format(message.channel.mention, message.content)
)
embed.set_author(name=message.author, icon_url=message.author.avatar_url)
embed.set_footer(text=message.author.id)
if len(message.attachments) > 0:
embed.set_image(url = message.attachments[0].url)
await log_channel.send(embed=embed)
await client.process_commands(message)
А вот код JavaScript (это не моя задача, но я решил включить его на крайний случай). Он получает идентификатор и канал прослушиваемой гильдии сервера. Я не знаю, действительно ли он способен отправить его на мой частный сервер, поскольку есть ошибки.

Код: Выделить всё

client.guilds.get().channels.get().send()
Я также не включил идентификаторы из соображений конфиденциальности.

Я ожидал, что JavaScript будет работать как обычно, но ниже вернулся код ошибки.

Код: Выделить всё

TypeError: Cannot read property 'channels' of undefined
at Object. (C:\Users\SomethingCube\Desktop\ListenBot\ListenBot.js:12:40)
at Module._compile (internal/modules/cjs/loader.js:776:30)
at Object.Module._extensions..js (internal/modules/cjs/loader.js:787:10)
at Module.load (internal/modules/cjs/loader.js:653:32)
at tryModuleLoad (internal/modules/cjs/loader.js:593:12)
at Function.Module._load (internal/modules/cjs/loader.js:585:3)
at Function.Module.runMain (internal/modules/cjs/loader.js:829:12)
at startup (internal/bootstrap/node.js:283:19)
at bootstrapNodeJSCore (internal/bootstrap/node.js:622:3)
Возможно, потому, что код, который я получил (JavaScript), был написан в 2018 году, и многие вещи изменились до того, как я опубликовал это, или я делаю что-то неправильно (я предполагаю, что я разместил неправильный префикс и суффикс (я не знаю, как это называется) идентификаторов («------------------»)).

Опять же, я здесь сосредоточен не на JavaScript, а на Python. Я ищу код (для Python), который отправляет сообщения на мой частный сервер.

Подробнее здесь: https://stackoverflow.com/questions/572 ... her-server
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «Python»