Как указано в комментарии к ветке, discord
относится к OP DiscordSocketClient
, что, в свою очередь, относится к текущему клиенту бота;как таковой, единственный объект Channel
не может существовать, поскольку бот может иметь доступ к более чем нескольким "каналам" в пределах досягаемости бота.
OP, вероятно, ссылается на каналв котором было получено сообщение: message.Channel
.
Кроме того, стоит отметить, что при определении типа канала может быть несколько вариантов использования Discord.Net из-за его полиморфности .характер (например, канал может быть голосом, категорией, текстовым каналом и т. д .; подробнее см. глоссарий ).
Хотя в контексте кода OP возможна только ISocketMessageChannel
или его реализация, поскольку сообщение может быть отправлено только в канал сообщений.Несмотря на это, причина этого заключается в том, что многие другие методы получения канала могут иногда возвращать только IChannel
, оставляя за собой путаницу в том, почему они не могут отправить сообщение этому каналу.На самом деле им нужно было только (попытаться) привести канал к соответствующему типу (см. Глоссарий выше).