static private async Task UpdateMessageAsync(RoleMenuMessage data, IUserMessage msg) { var builder = new StringBuilder($"**\n ~ ~\u2003{data.Title}\u2003~ ~**\n"); var hasRoles = false; foreach (var role in data.Roles) { hasRoles = true; builder.Append('\n').Append(role.Emote).Append(' ').Append(role.Description ?? role.Mention).Append('\n'); } if (!hasRoles) { builder.Append("\n*Zpráva neobsahuje žádné role k nakliknutí.*"); } else if (data.CanSelectMultiple) { builder.Append("\n*kliknutím na reakce si přiřadíš role*"); } else { builder.Append("\n*kliknutím na reakci si přiřadíš jednu roli*"); } await msg.ModifyAsync(m => { m.Content = builder.ToString(); m.AllowedMentions = AllowedMentions.None; }); }
public async Task NewRoleMessageAsync( [Summary("nadpis")][Remainder] string title ) { var message = await Context.Channel.SendMessageAsync(title); var data = new RoleMenuMessage() { Title = title, MessageId = message.Id, ChannelId = Context.Channel.Id, GuildId = Context.Guild.Id, Roles = new List <RoleMenuMessageRole>(), CanSelectMultiple = true }; await DbContext.RoleMenuMessages.AddAsync(data); await DbContext.SaveChangesAsync(); await UpdateMessageAsync(data, message); await Context.Message.DeleteAsync(); }