public async Task AddShopRole(SocketRole role, int cost, int requiredLevel) { var user = _context.User as SocketGuildUser; if (user == null) { //todo: error handle return; } if (user.GuildPermissions.Administrator) { var serverCache = ServerDataManager.GetServerDataByServerId(_context.Guild.Id); var shopRole = new ShopRoleModel(role.Id, role.Name, cost, requiredLevel); serverCache.AddShopRole(role.Id, shopRole); var builder = new EmbedBuilder(); builder.WithTitle("Added shop role!"); builder.WithAuthor(user.Username, user.GetAvatarUrl()); builder.WithColor(255, 183, 229); builder.AddField("Role id", role.Id); builder.AddField("Role name", role.Name); builder.AddField("Role cost", cost); if (requiredLevel > 0) { builder.AddField("Required level", requiredLevel); } await _context.Channel.SendMessageAsync("", false, builder.Build()); } else { await _context.Channel.SendMessageAsync("Only admins can add shop roles!"); } }
public void AddShopRole(ulong roleId, ShopRoleModel shopRoleModel) { _shopRoleCache.Add(roleId, shopRoleModel); }