{"id":13827491,"url":"https://github.com/maciekmm/messenger-platform-go-sdk","last_synced_at":"2025-04-14T03:15:05.728Z","repository":{"id":57498918,"uuid":"56375374","full_name":"maciekmm/messenger-platform-go-sdk","owner":"maciekmm","description":":envelope: A GO SDK for Facebook's messenger-platform: https://developers.facebook.com/docs/messenger-platform","archived":false,"fork":false,"pushed_at":"2018-05-06T13:15:40.000Z","size":79,"stargazers_count":109,"open_issues_count":9,"forks_count":27,"subscribers_count":10,"default_branch":"master","last_synced_at":"2025-04-14T03:15:01.030Z","etag":null,"topics":["go","messenger","messenger-platform","sdk"],"latest_commit_sha":null,"homepage":"","language":"Go","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/maciekmm.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":"CONTRIBUTING.md","funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null}},"created_at":"2016-04-16T09:17:42.000Z","updated_at":"2025-02-21T15:48:20.000Z","dependencies_parsed_at":"2022-09-06T17:11:44.864Z","dependency_job_id":null,"html_url":"https://github.com/maciekmm/messenger-platform-go-sdk","commit_stats":null,"previous_names":[],"tags_count":14,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/maciekmm%2Fmessenger-platform-go-sdk","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/maciekmm%2Fmessenger-platform-go-sdk/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/maciekmm%2Fmessenger-platform-go-sdk/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/maciekmm%2Fmessenger-platform-go-sdk/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/maciekmm","download_url":"https://codeload.github.com/maciekmm/messenger-platform-go-sdk/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":248813803,"owners_count":21165634,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["go","messenger","messenger-platform","sdk"],"created_at":"2024-08-04T09:01:59.242Z","updated_at":"2025-04-14T03:15:05.702Z","avatar_url":"https://github.com/maciekmm.png","language":"Go","funding_links":[],"categories":["Go"],"sub_categories":[],"readme":"Messenger Platform Go SDK\n=====\n\n[![Build Status](https://travis-ci.org/maciekmm/messenger-platform-go-sdk.svg?branch=master)](https://travis-ci.org/maciekmm/messenger-platform-go-sdk) \n[![Coverage Status](https://coveralls.io/repos/github/maciekmm/messenger-platform-go-sdk/badge.svg?branch=master)](https://coveralls.io/github/maciekmm/messenger-platform-go-sdk?branch=master)\n\nA Go SDK for the [Facebook Messenger Platform](https://developers.facebook.com/docs/messenger-platform).\n\n## Installation\n\n```bash\ngo get gopkg.in/maciekmm/messenger-platform-go-sdk.v4\n```\n\n## Usage\n\nThe main package has been named `messenger` for convenience. \n\nYour first step is to create `Messenger` instance.\n\n```go\nimport \"gopkg.in/maciekmm/messenger-platform-go-sdk.v4\"\n\n//...\n\nmessenger := \u0026messenger.Messenger {\n\tVerifyToken: \"VERIFY_TOKEN/optional\",\n\tAppSecret: \"APP_SECRET/optional\",\n\tAccessToken: \"PAGE_ACCESS_TOKEN\",\n\tDebug: messenger.DebugAll, //All,Info,Warning\n}\n```\n\n### Parameters\n* `VerifyToken` is the token needed for a verification process facebook performs. It's only required once. Optional.\n* `AppSecret` is the Application Secret token. It's used for message integrity check. Optional.\n* `AccessToken` is required to send messages. You can find this token in your app developer dashboard under `Messenger` tab.\n* `Debug` is used for setting debug mode type as described on https://developers.facebook.com/docs/graph-api/using-graph-api#debugging. Optional.\n\nThe next step is to hook up the handler to your HTTP server. \n\n```go\n//hook up\nhttp.HandleFunc(\"/webhook\", messenger.Handler)\n//start the server\nhttp.ListenAndServe(\":5646\", nil)\n```\n\nThe next step is to *subscribe* to an event, to do that you have to hook up your own handler.\n\n```go\nmessenger.MessageReceived = MessageReceived\n\n//...\n\nfunc MessageReceived(event messenger.Event, opts messenger.MessageOpts, msg messenger.ReceivedMessage) {\n//do stuff\n}\n```\n\n### Sending messages\n\n## Example\n\nCheck more examples in [examples folder.](https://github.com/maciekmm/messenger-platform-go-sdk/tree/master/examples)\n\n```go\nvar mess = \u0026messenger.Messenger{\n\tAccessToken: \"ACCESS_TOKEN\",\n}\n\nfunc main() {\n\tmess.MessageReceived = MessageReceived\n\thttp.HandleFunc(\"/webhook\", mess.Handler)\n\tlog.Fatal(http.ListenAndServe(\":5646\", nil))\n}\n\nfunc MessageReceived(event messenger.Event, opts messenger.MessageOpts, msg messenger.ReceivedMessage) {\n\tprofile, err := mess.GetProfile(opts.Sender.ID)\n\tif err != nil {\n\t\tfmt.Println(err)\n\t\treturn\n\t}\n\tresp, err := mess.SendSimpleMessage(opts.Sender.ID, fmt.Sprintf(\"Hello, %s %s, %s\", profile.FirstName, profile.LastName, msg.Text))\n\tif err != nil {\n\t\tfmt.Println(err)\n\t}\n\tfmt.Printf(\"%+v\", resp)\n}\n```","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fmaciekmm%2Fmessenger-platform-go-sdk","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fmaciekmm%2Fmessenger-platform-go-sdk","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fmaciekmm%2Fmessenger-platform-go-sdk/lists"}