Vb.net 是否在一个嵌入字段已满时自动创建一个新的嵌入字段?[VB]

Vb.net 是否在一个嵌入字段已满时自动创建一个新的嵌入字段?[VB],vb.net,discord,discord.net,Vb.net,Discord,Discord.net,这是我的命令,用于从数组中获取每个单词并将其放在字段中。我想知道的是如何使字段变满后,它会自动添加一个新字段并继续列表。这可能有点牵强,但只是不知道该怎么做。对不起,如果我不能理解任何答案。我对在Discord.net和well vb上编写代码还是有点陌生。这是对hastebin代码的修改 Dim行作为整数=0 Dim words As String=String.Empty 在wall.keywords中将每个关键字作为字符串 '如果在单词列表中添加的关键字超过256 '不要追加,而是将现有单

这是我的命令,用于从数组中获取每个单词并将其放在字段中。我想知道的是如何使字段变满后,它会自动添加一个新字段并继续列表。这可能有点牵强,但只是不知道该怎么做。对不起,如果我不能理解任何答案。我对在Discord.net和well vb上编写代码还是有点陌生。

这是对hastebin代码的修改

Dim行作为整数=0
Dim words As String=String.Empty
在wall.keywords中将每个关键字作为字符串
'如果在单词列表中添加的关键字超过256
'不要追加,而是将现有单词添加到字段中。
如果words.Length+keyword.Length+7>256,则
行+=1
embed.AddField($“List#{row}”,words)'将单词添加到字段
"重设字眼",
words=String.Empty
如果结束
单词=单词+关键字+“**”
下一个
'仅当我们执行以下操作时,才会在for循环中输入add条件:
'即将超过字段长度。任何低于最大值的字符串
'长度将在不添加的情况下退出循环。加在这里
embed.AddField($“List{row+1}”,单词)
等待m.Channel.SendMessageAsync(“”,False,embed.Build())

<>虽然它没有改变任何逻辑,但是在构建单词字符串时,可以考虑使用<代码> StringBuilder < /Cord>

,检查添加的新词的长度是否会导致字符串超出字段的最大长度。如果超过,不要将其添加到字符串中,而是将字符串添加到字段中…使用新词重置
words
继续相同的逻辑,直到完成。这将是一个有趣的问题。我不知道该怎么做。从我的尝试。不知道我到底需要做什么。
Private Async Function cmdList() As Task
    Dim m = Context.Message
    Dim u = Context.User
    Dim g = Context.Guild
    Dim c = Context.Client

    Dim words As String = ""

    Dim embed As New EmbedBuilder With {
        .Title = $"Wallpaper keyword list",
        .ImageUrl = "https://i.imgur.com/vc241Ku.jpeg",
        .Description = "The full list of keywords in our random wallpaper list",
        .Color = New Color(masterClass.randomEmbedColor),
        .ThumbnailUrl = g.IconUrl,
        .Timestamp = Context.Message.Timestamp,
        .Footer = New EmbedFooterBuilder With {
                .Text = "Keyword Data",
                .IconUrl = g.IconUrl
            }
        }

    For Each keyword As String In wall.keywords

        words = words + keyword + " **|** "
    Next
    embed.AddField("Full list", words)

    Await m.Channel.SendMessageAsync("", False, embed.Build())
End Function