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();
        }