diff --git a/examples/send_video/examle_video.mp4 b/examples/send_video/examle_video.mp4 new file mode 100644 index 0000000..7936dc0 Binary files /dev/null and b/examples/send_video/examle_video.mp4 differ diff --git a/examples/send_video/main.go b/examples/send_video/main.go new file mode 100644 index 0000000..bcbd530 --- /dev/null +++ b/examples/send_video/main.go @@ -0,0 +1,48 @@ +package main + +import ( + "bytes" + "context" + "fmt" + "os" + "os/signal" + + "github.com/go-telegram/bot" + "github.com/go-telegram/bot/models" +) + +// Send any text message to the bot after the bot has been started + +func main() { + ctx, cancel := signal.NotifyContext(context.Background(), os.Interrupt) + defer cancel() + + opts := []bot.Option{ + bot.WithDefaultHandler(handler), + } + + b, err := bot.New(os.Getenv("EXAMPLE_TELEGRAM_BOT_TOKEN"), opts...) + if nil != err { + // panics for the sake of simplicity. + // you should handle this error properly in your code. + panic(err) + } + + b.Start(ctx) +} + +func handler(ctx context.Context, b *bot.Bot, update *models.Update) { + fileData, errReadFile := os.ReadFile("./examples/send_video/examle_video.mp4") + if errReadFile != nil { + fmt.Printf("error read file, %v\n", errReadFile) + return + } + + params := &bot.SendVideoParams{ + ChatID: update.Message.Chat.ID, + Video: &models.InputFileUpload{Filename: "examle_video.mp4", Data: bytes.NewReader(fileData)}, + Caption: "New uploaded example video", + } + + b.SendVideo(ctx, params) +}