Vb.net 是否在一个嵌入字段已满时自动创建一个新的嵌入字段?[VB]
这是我的命令,用于从数组中获取每个单词并将其放在字段中。我想知道的是如何使字段变满后,它会自动添加一个新字段并继续列表。这可能有点牵强,但只是不知道该怎么做。对不起,如果我不能理解任何答案。我对在Discord.net和well vb上编写代码还是有点陌生。这是对hastebin代码的修改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 '不要追加,而是将现有单
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