aboutsummaryrefslogtreecommitdiff
path: root/telegram/utils.go
diff options
context:
space:
mode:
Diffstat (limited to 'telegram/utils.go')
-rw-r--r--telegram/utils.go21
1 files changed, 16 insertions, 5 deletions
diff --git a/telegram/utils.go b/telegram/utils.go
index 3082b5f..476ae43 100644
--- a/telegram/utils.go
+++ b/telegram/utils.go
@@ -247,11 +247,13 @@ func (c *Client) formatMessage(chatID int64, messageID int64, preview bool, mess
}
var text string
- switch message.Content.MessageContentType() {
- case client.TypeMessageText:
- messageText, _ := message.Content.(*client.MessageText)
- text = messageText.Text.Text
- // TODO: handle other message types with labels (not supported in Zhabogram!)
+ if message.Content != nil {
+ switch message.Content.MessageContentType() {
+ case client.TypeMessageText:
+ messageText, _ := message.Content.(*client.MessageText)
+ text = messageText.Text.Text
+ // TODO: handle other message types with labels (not supported in Zhabogram!)
+ }
}
if text != "" {
if !preview {
@@ -285,6 +287,11 @@ func (c *Client) formatContent(file *client.File, filename string) string {
}
func (c *Client) messageToText(message *client.Message) string {
+ if message.Content == nil {
+ log.Warnf("Unknown message (big emoji?): %#v", message)
+ return "<BIG EMOJI>"
+ }
+
markupFunction := formatter.EntityToMarkdown
switch message.Content.MessageContentType() {
case client.TypeMessageSticker:
@@ -378,6 +385,10 @@ func (c *Client) messageToText(message *client.Message) string {
}
func (c *Client) contentToFilename(content client.MessageContent) (*client.File, string) {
+ if content == nil {
+ return nil, ""
+ }
+
switch content.MessageContentType() {
case client.TypeMessageSticker:
sticker, _ := content.(*client.MessageSticker)