package model

type TelegramMessage struct {
	ChatID           string `bson:"chatId,omitempty" json:"chat_id,omitempty"`
	MessageID        string `bson:"messageId,omitempty" json:"message_id,omitempty"`
	ReplyToMessageID string `bson:"replyToMessageId,omitempty" json:"reply_to_message_id,omitempty"`
	FromUserID       string `bson:"fromUserId,omitempty" json:"from_user_id,omitempty"`
	FromUsername     string `bson:"fromUsername,omitempty" json:"from_username,omitempty"`
	Text             string `bson:"text,omitempty" json:"text,omitempty"`
	SentAt           int64  `bson:"sentAt,omitempty" json:"sent_at,omitempty"`
}

type TelegramReactionRequest struct {
	RequestID string `bson:"requestId,omitempty" json:"request_id,omitempty"`
	ChatID    string `bson:"chatId,omitempty" json:"chat_id,omitempty"`
	MessageID string `bson:"messageId,omitempty" json:"message_id,omitempty"`
	Emoji     string `bson:"emoji,omitempty" json:"emoji,omitempty"`
}

type TelegramTextRequest struct {
	RequestID        string `bson:"requestId,omitempty" json:"request_id,omitempty"`
	ChatID           string `bson:"chatId,omitempty" json:"chat_id,omitempty"`
	Text             string `bson:"text,omitempty" json:"text,omitempty"`
	ReplyToMessageID string `bson:"replyToMessageId,omitempty" json:"reply_to_message_id,omitempty"`
}

type TelegramWebhookUpdate struct {
	UpdateID int64            `bson:"updateId,omitempty" json:"update_id,omitempty"`
	Message  *TelegramMessage `bson:"message,omitempty" json:"message,omitempty"`
}
