Files
mautrix-telegram/pkg/gotd/tgtest/handler.go
T
2025-06-27 20:03:37 -07:00

38 lines
855 B
Go

package tgtest
import (
"context"
"go.mau.fi/mautrix-telegram/pkg/gotd/bin"
)
// Request represents MTProto RPC request structure.
type Request struct {
// DC ID from server structure.
// Used to make handler less stateful.
DC int
// Session is a user session.
Session Session
// MsgID is a message ID of RPC request.
MsgID int64
// Buf contains RPC request
Buf *bin.Buffer
// RequestCtx is a request context.
RequestCtx context.Context
}
// Handler is a RPC request handler.
type Handler interface {
OnMessage(server *Server, req *Request) error
}
var _ Handler = HandlerFunc(nil)
// HandlerFunc is functional adapter for Handler.OnMessage method.
type HandlerFunc func(server *Server, req *Request) error
// OnMessage implements Handler.
func (h HandlerFunc) OnMessage(server *Server, req *Request) error {
return h(server, req)
}