Привет, Солонс, твой способ добавления роли почти правильный, но вместо твоего способа сделать это, используя if
s, используй уже добавленный способ добавления новых команд своему боту. Я предполагаю, что !
- это ваш префикс, а stream
- это команда / слово, которое вы хотите, чтобы бот прочитал, и соответственно добавьте роль. Дайте мне знать, если ваше дело не то, что я предполагаю.
Так вот как это в идеале должно быть сделано.
- Создайте открытый класс и сделайте его наследуемым от
ModuleBase<SocketCommandContext>
, чтобы он выглядел как public class Matches : ModuleBase<SocketCommandContext>
.
- Как только вы закончите, вы можете использовать
[Command("stream")]
для установки любых команд, которые вы хотите для бота.
А способ добавления ролей выглядит примерно так
[Command("stream")]
public async Task RoleTask()
{
ulong roleId = 486599202093269012;
var role = Context.Guild.GetRole(roleId);
await ((SocketGuildUser) Context.User).AddRoleAsync(role);
}
При этом бот (если у него достаточно разрешений) должен предоставить роль с roleId пользователю, отправляющему команду. то есть !stream
Также вы знаете, что если вы собираетесь начать, я бы действительно посоветовал вам взглянуть на отличную документацию по http://docs.stillu.cc, и еще один хороший способ - посмотреть примеры для изучения.
Этот - это бот, который я пробил далеко назад, когда только начинал. Может быть, вы могли бы научиться.