{"id":13366518,"url":"https://github.com/requilence/integram","last_synced_at":"2025-05-15T18:00:23.660Z","repository":{"id":40241201,"uuid":"62408381","full_name":"requilence/integram","owner":"requilence","description":"Integrate Telegram into your workflow – Trello, Gitlab, Bitbucket and other bots","archived":false,"fork":false,"pushed_at":"2023-09-23T09:46:46.000Z","size":6533,"stargazers_count":1541,"open_issues_count":66,"forks_count":151,"subscribers_count":50,"default_branch":"master","last_synced_at":"2025-04-07T22:11:10.208Z","etag":null,"topics":["bitbucket","gitlab","golang","golang-application","telegram","telegram-bot","telegram-bot-api","trello"],"latest_commit_sha":null,"homepage":"https://integram.org","language":"Go","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"gpl-3.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/requilence.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":"FUNDING.yml","license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null},"funding":{"github":"requilence","ko_fi":"integram"}},"created_at":"2016-07-01T17:13:03.000Z","updated_at":"2025-04-03T17:55:49.000Z","dependencies_parsed_at":"2024-02-17T10:44:53.391Z","dependency_job_id":null,"html_url":"https://github.com/requilence/integram","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/requilence%2Fintegram","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/requilence%2Fintegram/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/requilence%2Fintegram/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/requilence%2Fintegram/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/requilence","download_url":"https://codeload.github.com/requilence/integram/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":254394718,"owners_count":22063984,"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":["bitbucket","gitlab","golang","golang-application","telegram","telegram-bot","telegram-bot-api","trello"],"created_at":"2024-07-30T00:01:26.176Z","updated_at":"2025-05-15T18:00:23.612Z","avatar_url":"https://github.com/requilence.png","language":"Go","readme":"Integram 2.0\n===========\n\nFramework and platform to integrate services with [Telegram](https://telegram.org) using the official [Telegram Bot API](https://core.telegram.org/bots/api)\n\nℹ️ Individual integration repos are located at https://github.com/integram-org.\n\n[![CircleCI](https://img.shields.io/circleci/project/requilence/integram.svg)](https://circleci.com/gh/requilence/integram) [![Docker Image](https://img.shields.io/docker/build/integram/integram.svg)](https://hub.docker.com/r/integram/integram/) [![GoDoc](https://godoc.org/github.com/Requilence/integram?status.svg)](https://godoc.org/github.com/requilence/integram)\n\n![Screencast](https://st.integram.org/img/screencast4.gif)\n\nHow to use Integram in Telegram (using public bots)\n------------------\nJust use these links to add bots to your Telegram\n* [Trello](https://t.me/trello_bot?start=f_github)\n* [Gitlab](https://t.me/gitlab_bot?start=f_github)\n* [Bitbucket](https://t.me/bitbucket_bot?start=f_github)\n* [Simple webhook bot](https://t.me/bullhorn_bot?start=f_github)\n\n* [GitHub](https://telegram.me/githubbot) – GitHub bot was developed by [Igor Zhukov](https://github.com/zhukov) and it is not part of Integram\n\nDid not find your favorite service? [🤘 Vote for it](https://telegram.me/integram_bot?start=vote)\n\nHow to host Integram on your own server (using your private bots)\n------------------\n\n🐳 Docker way\n------------------\n- Prerequisites :\n    - You will need [docker](https://docs.docker.com/install/) and [docker-compose](https://docs.docker.com/compose/install/) installed\n    - Create your Telegram bot(s) by talking to [@BotFather](https://t.me/botfather)\n- Clone the repo:\n```bash\n   git clone https://github.com/requilence/integram \u0026\u0026 cd integram\n```\n- Check the `docker-compose.yml` file for the required ENV vars for each service\n    - E.g. in order to run the Trello integration you will need to export: \n    \t- **INTEGRAM_BASE_URL** – the base URL where your Integram host will be accessible, e.g. **https://integram.org**\n\t    - **INTEGRAM_PORT** – if set to 443 Integram will use ssl.key/ssl.cert at /go/.conf.\n\t    \t- For **Let's Encrypt**: `ssl.cert` has to be `fullchain.pem`, not `cert.pem`\n\t    \n\t        This directory is mounted on your host machine. Just get the path and put these files inside\n            ```bash\n               ## Get the path of config directory on the host machine\n               docker volume inspect -f '{{ .Mountpoint }}' integram_data-mainapp\n            ```\n\t    - **TRELLO_BOT_TOKEN** – your bot's token you got from [@BotFather](https://t.me/botfather)\n\t    - You will need to [get your own OAuth credentials from Trello](https://trello.com/app-key)\n\t      - **TRELLO_OAUTH_ID** – API Key\n\t      - **TRELLO_OAUTH_SECRET** – OAuth Secret\n    \n    - For more detailed info about other services you should check the corresponding repo at https://github.com/integram-org\n- Export the variables you identified in the previous step, for instance on linux this should be something like:\n```bash\n   export INTEGRAM_PORT=xxxx\n   export ...\n```\n- Now you can run the services (linux: careful if you need to sudo this, the exports you just did will not be available) :\n```bash\n   docker-compose -p integram up trello gitlab ## Here you specify the services you want to run\n```\n- Or in background mode (add `-d`):\n```bash\n   docker-compose -p integram up -d trello gitlab\n```\n- You should now see Integram's startup logs in your console\n- In Telegram, you can now start your bots (`/start`) and follow their directions, configure them using `/settings`\n- Some useful commands:\n```bash\n   ## Check the containers status\n   docker ps\n   \n   ## Fetch logs for main container\n   docker logs -f $(docker ps -aqf \"name=integram_integram\")   \n```\n- To update Integram to the latest version:\n```bash\n    ## Fetch last version of images\n    docker-compose pull integram trello gitlab\n    ## Restart containers using the new images\n    docker-compose -p integram up -d trello gitlab\n```\n\n\n🛠 Old-school way (No docker)\n------------------\n- First you need to install all requirements: [Go 1.9+](https://golang.org/doc/install), [Go dep](https://github.com/golang/dep#setup), [MongoDB 3.4+ (for data)](https://docs.mongodb.com/manual/administration/install-community/), [Redis 3.2+ (for jobs queue)](https://redis.io/download)\n\n- Then, using [this template](https://github.com/requilence/integram/blob/master/cmd/single-process-mode/main.go) \n create the `main.go` file and put it in `src/integram/` inside your preferred working directory (e.g. `/var/integram/src/integram/main.go`)\n\n```bash\n    ## set the GOPATH to the absolute path of directory containing 'src' directory that you have created before\n    export GOPATH=/var/integram\n    \n    cd $GOPATH/src/integram\n    ## install dependencies\n    dep init\n```\n\n- Specify the required ENV variables – check the [Docker way section](https://github.com/requilence/integram#-docker-way)\n- Run it\n```bash\n    go build integram \u0026\u0026 ./integram\n```\n\n### Dependencies\n\nDependencies are specified in `Gopkg.toml` and fetched using [Go dep](https://github.com/golang/dep)\n\nContributing\n------------------\nFeel free to send PRs. If you want to contribute new service integrations, please [create an issue](https://integram.org/issues/new) first. Just to make sure someone is not already working on it.\n\n### Libraries used in Integram\n\n* [Telegram Bindings](https://github.com/go-telegram-bot-api/telegram-bot-api)\n* [Gin – HTTP router and framework](https://github.com/gin-gonic/gin)\n* [Mgo – MongoDB driver](https://github.com/go-mgo/mgo)\n* [Jobs – background jobs](https://github.com/albrow/jobs)\n* [Logrus – structure logging](https://github.com/sirupsen/logrus)\n\n\n### License\nCode licensed under GPLV3 [license](https://github.com/requilence/integram/blob/master/LICENSE)\n\n![Analytics](https://ga-beacon.appspot.com/UA-80266491-1/github_readme)\n","funding_links":["https://github.com/sponsors/requilence","https://ko-fi.com/integram"],"categories":["Go"],"sub_categories":[],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Frequilence%2Fintegram","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Frequilence%2Fintegram","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Frequilence%2Fintegram/lists"}