Initial commit

This commit is contained in:
eleksir
2025-06-08 04:32:16 +03:00
parent c1ad1d3925
commit 8e8f575ccd
77 changed files with 9758 additions and 314 deletions

View File

@@ -2,61 +2,53 @@ package moon
import (
"fmt"
"time"
"github.com/NicoNex/echotron/v3"
)
// textMessage handles text message events.
func textMessage(msg *echotron.Update) {
if msg.Message.ReplyToMessage == nil {
// Not sure if we must handle all kinds of these events.
if Cfg.LogChats {
switch {
// Just log it, it seems later here should be ban/mute command set.
Log.Infof(
"User %s %s (username = %s, id = %d) in %s %s (%d) says: %s",
msg.Message.From.FirstName,
msg.Message.From.LastName,
msg.Message.From.Username,
msg.Message.From.ID,
msg.Message.Chat.Type,
msg.Message.Chat.Title,
msg.Message.Chat.ID,
msg.Message.Text,
)
} else {
// Just log it.
Log.Infof(
"User %s %s (username = %s, id = %d) in %s %s (%d) replies to message %d by %s %s (username = %s, id = %d): %s",
msg.Message.From.FirstName,
msg.Message.From.LastName,
msg.Message.From.Username,
msg.Message.From.ID,
msg.Message.Chat.Type,
msg.Message.Chat.Title,
msg.Message.Chat.ID,
msg.Message.ReplyToMessage.ID,
msg.Message.ReplyToMessage.From.FirstName,
msg.Message.ReplyToMessage.From.LastName,
msg.Message.ReplyToMessage.From.Username,
msg.Message.ReplyToMessage.From.ID,
msg.Message.Text,
)
}
case msg.Message != nil && msg.Message.ReplyToMessage == nil:
ChatLog(
msg.Message.Chat.ID,
fmt.Sprintf(
"User %s %s (username = %s, id = %d) in %s %s (%d) says: %s",
msg.Message.From.FirstName,
msg.Message.From.LastName,
msg.Message.From.Username,
msg.Message.From.ID,
msg.Message.Chat.Type,
msg.Message.Chat.Title,
msg.Message.Chat.ID,
msg.Message.Text,
),
)
case msg.Message != nil && msg.Message.ReplyToMessage != nil:
ChatLog(
msg.Message.Chat.ID,
fmt.Sprintf(
"User %s %s (username = %s, id = %d) in %s %s (%d) replies to message %d by %s %s (username = %s, id = %d): %s",
msg.Message.From.FirstName,
msg.Message.From.LastName,
msg.Message.From.Username,
msg.Message.From.ID,
msg.Message.Chat.Type,
msg.Message.Chat.Title,
msg.Message.Chat.ID,
msg.Message.ReplyToMessage.ID,
msg.Message.ReplyToMessage.From.FirstName,
msg.Message.ReplyToMessage.From.LastName,
msg.Message.ReplyToMessage.From.Username,
msg.Message.ReplyToMessage.From.ID,
msg.Message.Text,
),
)
// Update database of new members :)
// Try to get timestamp when this member joined to chat
if joinTimestampString := Cfg.GetValue(
"NewMembers",
fmt.Sprintf("%d", msg.Message.Chat.ID),
fmt.Sprintf("%d", msg.Message.From.ID),
); joinTimestampString == "" {
if err := Cfg.SaveKeyValue(
"NewMembers",
fmt.Sprintf("%d", msg.Message.Chat.ID),
fmt.Sprintf("%d", msg.Message.From.ID),
fmt.Sprintf("%d", time.Now().Unix()),
); err != nil {
Log.Error(err)
} else {
Log.Infof("Info about new userid %d saved to new users db", msg.Message.From.ID)
}
}
}