using Discord;
using Discord.WebSocket;
using System;
using System.Threading.Tasks;
class Program
{
private DiscordSocketClient _client;
public static void Main(string[] args)
=> new
Program().MainAsync().GetAwaiter().GetResult();
public async Task MainAsync()
{
_client = new DiscordSocketClient();
_client.Log += LogAsync;
string token = Environment.GetEnvironmentVariable("DISCORD_BOT_TOKEN");
if (string.IsNullOrEmpty(token))
{
Console.WriteLine("Bot token is missing. Please set the DISCORD_BOT_TOKEN environment variable.");
return;
}
await _client.LoginAsync(TokenType.Bot, token);
await _client.StartAsync();
_client.Ready += () =>
{
Console.WriteLine("Bot is connected!");
return Task.CompletedTask;
};
_client.MessageReceived += MessageReceivedAsync;
await Task.Delay(-1);
}
private async Task MessageReceivedAsync(SocketMessage message)
{
if (message.Author.IsBot || message.Author.IsWebhook)
return;
Console.WriteLine($"Received message: '{message.Content}' from {message.Author.Username}");
if (string.IsNullOrWhiteSpace(message.Content))
{
Console.WriteLine("Received an empty message.");
return;
}
if (message.Content.ToLower().Trim() == "!hello")
{
await message.Channel.SendMessageAsync("Hello!");
}
else
{
await message.Channel.SendMessageAsync($"You said: '{message.Content}'");
}
}
private Task LogAsync(LogMessage log)
{
Console.WriteLine(log.ToString());
return Task.CompletedTask;
}
}
К сожалению, бот считает сообщения пустыми. Когда я пишу «привет», он печатает «получил сообщение: '' от @[редактировано]». Может ли кто-нибудь помочь?
Отладка, которая привела меня к выводу, что он считает его пустым, и включение намерения сообщения, которое ничего не сделало
Я хотел создать бота для дискорда. Я включил намерение сообщения и приступил к работе. Это мой код [code]using Discord; using Discord.WebSocket; using System; using System.Threading.Tasks;
class Program { private DiscordSocketClient _client;
public static void Main(string[] args) => new Program().MainAsync().GetAwaiter().GetResult();
public async Task MainAsync() { _client = new DiscordSocketClient();
private Task LogAsync(LogMessage log) { Console.WriteLine(log.ToString()); return Task.CompletedTask; } } [/code] К сожалению, бот считает сообщения пустыми. Когда я пишу «привет», он печатает «получил сообщение: '' от @[редактировано]». Может ли кто-нибудь помочь? Отладка, которая привела меня к выводу, что он считает его пустым, и включение намерения сообщения, которое ничего не сделало
Я пишу музыкального бота Discord, используя discord.py и YT_DLP. По какой-то причине звук искажается, когда я воспроизвожу источник звука для разбивки голосового канала. Это часть моего кода: ` @bot.command(pass_context=True) асинхронное определение...
Я написал бота на Python и использую следующие библиотеки:
import discord
import pytz
import re
from discord.ext import commands
from datetime import datetime, timezone
from pytz import timezone as tz
У меня возникла проблема с отладкой большой базы кода под Linux CentOS 6. Она состоит из основного исполняемого файла и нескольких файлов .so, которые загружаются динамически после того, как выясняется, откуда их загрузить.