func (img *Image) Send(bot *telebot.Bot, msg telebot.Message) (err error) { if img == nil { warning := "You are trying to call a method of inexistent object :-)" bot.SendMessage(msg.Chat, warning, nil) return errors.New(warning) } img.Filename = fmt.Sprint("assets/", msg.ID, img.Ext) if img.Filename == "" { bot.SendMessage(msg.Chat, "There's any filename associated to this query.", nil) return errors.New("There's any filename associated to this query.") } i, err := telebot.NewFile(img.Filename) if err != nil { return err } caption := img.Caption[:int(math.Min(float64(len(img.Caption)), MaxCaption))] photo := telebot.Photo{Thumbnail: telebot.Thumbnail{File: i, Width: img.Width, Height: img.Height}, Caption: caption} err = bot.SendPhoto(msg.Chat, &photo, &telebot.SendOptions{ReplyTo: msg}) if err != nil { return err } return nil }
func SendPhoto(url string, message telebot.Message, bot *telebot.Bot) error { imagefile, err := SaveImage(url) if err != nil { log.Println("Error fetching ") log.Println(err) bot.SendMessage(message.Chat, url, nil) return err } defer os.Remove(imagefile) var photo = telebot.Photo{} photo.Thumbnail.File, err = telebot.NewFile(imagefile) if err != nil { log.Println("Error creating the new file ") log.Println(err) bot.SendMessage(message.Chat, url, nil) return err } //photo.filename=imagefile err = bot.SendPhoto(message.Chat, &photo, nil) if err != nil { log.Println("Error sending photo") log.Println(err) bot.SendMessage(message.Chat, url, nil) return err } return err }