Skip to content

Message ​

Jeder Handler bekommt eine *goroku.Message.

Felder ​

FeldTypBedeutung
IDint64Nachrichten-ID
ChatIDint64Chat, in dem sie gesendet wurde
SenderIDint64Nutzer-ID des Absenders. 0, wenn der Absender kein Nutzer ist — anonyme Admins und Beiträge im Namen des Kanals
SenderChannelIDint64Kanal, in dessen Namen gesendet wurde, 0 bei einem Nutzer
SenderIsChannelboolAbsender ist ein Kanal, kein Nutzer
TextstringText mit angewandter Formatierung
RawTextstringText genau wie getippt
Entities[]tg.MessageEntityClassFormatierungs-Entities
OutboolVon diesem Konto gesendet
Mediatg.MessageMediaClassAnhang, nil wenn keiner
IsPrivateboolPrivater Chat
IsGroupboolGruppenchat
IsChannelboolKanal
ReplyToMsgIDint64Beantwortete Nachricht, 0 wenn keine
IsForwardedboolVon woanders weitergeleitet
FwdFromtg.MessageFwdHeaderWeiterleitungs-Header
ViaBotIDint64Genutzter Inline-Bot, 0 wenn keiner
AnsweredboolOb der Handler bereits geantwortet hat
Client*CustomTelegramClientClient, der sie empfangen hat

Argumente ​

Args() string ​

Alles nach dem Befehlswort, außen getrimmt. Innere Abstände bleiben erhalten.

go
// .say hallo  zusammen
msg.Args() // "hallo  zusammen"

ArgsList() []string ​

Args nach Leerzeichen zerlegt. nil, wenn leer.

Arg(i int) string ​

Das i-te Argument oder "" außerhalb des Bereichs. Panikt nie.

ArgsOrReply() string ​

Args(), ersatzweise der Text der beantworteten Nachricht. "", wenn es weder das eine noch das andere gibt.

go
code := msg.ArgsOrReply()
if code == "" {
	return msg.Answer("❌ Sende Text oder antworte auf eine Nachricht")
}

Alle vier sind bei nil-Receiver sicher.

Antworten ​

Answer(text string, opts ...MsgOption) error ​

Bearbeitet deine eigene Nachricht oder antwortet, wenn jemand anderes den Befehl ausgelöst hat. Die Standardwahl.

Reply(text string, opts ...MsgOption) error ​

Sendet immer eine neue Nachricht als Antwort.

Edit(text string, opts ...MsgOption) error ​

Bearbeitet immer diese Nachricht.

Delete() error ​

Löscht diese Nachricht.

Optionen ​

OptionWirkung
WithNoWebpage(bool)Linkvorschau unterdrücken
WithReplyTo(int64)Auf eine Nachricht antworten oder in ein Forum-Thema posten
WithInvertMedia(bool)Vorschau über dem Text
WithWebPageMedia(url string, optional, forceLarge bool)Vorschau erzwingen
go
msg.Answer("keine Vorschau", goroku.WithNoWebpage(true))

Weitere Methoden ​

GetReplyMessage() (*Message, error) ​

Holt die beantwortete Nachricht. Gibt nil, nil zurück, wenn es keine gibt.

Context() context.Context ​

Wird beim Herunterfahren abgebrochen. Gib ihn an langsame Arbeit weiter.

GetChatID() / GetID() / GetReplyToMsgID() int64 ​

Nil-sichere Zugriffsmethoden.

IsOut() bool ​

Ob dieses Konto die Nachricht gesendet hat.

Released under the GNU AGPL v3 License.