Move SplitTextAtChunk function into a separate package
This commit is contained in:
parent
7fb169443c
commit
0059989510
24
cmd/run.go
24
cmd/run.go
|
@ -14,6 +14,8 @@ import (
|
|||
"github.com/cking/go-mastodon"
|
||||
tgbotapi "github.com/go-telegram-bot-api/telegram-bot-api/v5"
|
||||
"github.com/spf13/cobra"
|
||||
|
||||
"noa.mornie.org/eriol/telegram-group2mastodon/utils"
|
||||
)
|
||||
|
||||
const (
|
||||
|
@ -77,7 +79,7 @@ the specified Mastodon account.`,
|
|||
text := update.Message.Text
|
||||
in_reply_to := ""
|
||||
|
||||
for _, message := range splitTextAtChunk(text, max_characters) {
|
||||
for _, message := range utils.SplitTextAtChunk(text, max_characters) {
|
||||
status, err := c.PostStatus(context.Background(), &mastodon.Toot{
|
||||
Status: message,
|
||||
Visibility: parseMastodonVisibility(os.Getenv(MASTODON_TOOT_VISIBILITY)),
|
||||
|
@ -201,23 +203,3 @@ func parseTelegramChatID(s string) int64 {
|
|||
|
||||
return r
|
||||
}
|
||||
|
||||
// Split text in chunks of almost specified size.
|
||||
func splitTextAtChunk(text string, size int) []string {
|
||||
words := strings.SplitN(text, " ", -1)
|
||||
|
||||
chunks := []string{}
|
||||
var message string
|
||||
for _, word := range words {
|
||||
|
||||
if len(message+" "+word) > size {
|
||||
chunks = append(chunks, message)
|
||||
message = word
|
||||
continue
|
||||
}
|
||||
message += " " + word
|
||||
}
|
||||
chunks = append(chunks, message)
|
||||
|
||||
return chunks
|
||||
}
|
||||
|
|
|
@ -0,0 +1,23 @@
|
|||
package utils
|
||||
|
||||
import "strings"
|
||||
|
||||
// Split text in chunks of almost specified size.
|
||||
func SplitTextAtChunk(text string, size int) []string {
|
||||
words := strings.SplitN(text, " ", -1)
|
||||
|
||||
chunks := []string{}
|
||||
var message string
|
||||
for _, word := range words {
|
||||
|
||||
if len(message+" "+word) > size {
|
||||
chunks = append(chunks, message)
|
||||
message = word
|
||||
continue
|
||||
}
|
||||
message += " " + word
|
||||
}
|
||||
chunks = append(chunks, message)
|
||||
|
||||
return chunks
|
||||
}
|
Loading…
Reference in New Issue