{"id":20259428,"url":"https://github.com/letsila/mi","last_synced_at":"2025-06-13T17:32:38.138Z","repository":{"id":121498819,"uuid":"158103594","full_name":"letsila/mi","owner":"letsila","description":"High performance facebook messenger bot written in Golang","archived":false,"fork":false,"pushed_at":"2019-01-10T19:41:21.000Z","size":522,"stargazers_count":3,"open_issues_count":0,"forks_count":1,"subscribers_count":2,"default_branch":"master","last_synced_at":"2025-03-03T18:47:26.664Z","etag":null,"topics":["bots","download","downloader","facebook-messenger-bot","go","golang","messenger-bot","messenger-chatbot","messenger-platform","mp3","supervisord","webhooks","youtube-dl"],"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/letsila.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"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,"publiccode":null,"codemeta":null}},"created_at":"2018-11-18T16:29:10.000Z","updated_at":"2020-05-08T12:31:23.000Z","dependencies_parsed_at":null,"dependency_job_id":"9baa80e1-748b-4a81-a8e7-a9145f9c49c2","html_url":"https://github.com/letsila/mi","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/letsila/mi","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/letsila%2Fmi","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/letsila%2Fmi/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/letsila%2Fmi/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/letsila%2Fmi/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/letsila","download_url":"https://codeload.github.com/letsila/mi/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/letsila%2Fmi/sbom","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":259688365,"owners_count":22896392,"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":["bots","download","downloader","facebook-messenger-bot","go","golang","messenger-bot","messenger-chatbot","messenger-platform","mp3","supervisord","webhooks","youtube-dl"],"created_at":"2024-11-14T11:14:39.185Z","updated_at":"2025-06-13T17:32:38.112Z","avatar_url":"https://github.com/letsila.png","language":"Go","funding_links":[],"categories":["Go"],"sub_categories":[],"readme":"\u003cp align=\"center\"\u003e\n  \u003cimg src=\"logo.png\" width=\"20%\" border=\"0\" alt=\"avo\" /\u003e\n  \u003cbr /\u003e\n\u003c/p\u003e\n\n`Mi` is a high performance messenger bot which will help you grab stuff from the web.\n\n## Features\nSearching videos on [youtube](https://www.youtube.com) is the very first feature of this bot. Sending keywords to the bot will fetch the related search result from [youtube](https://www.youtube.com). Then, you can download the mp3 audio format of the videos that has been found. More is yet to come. Stay tuned ...\n\n\u003cp\u003e\n  \u003cimg src=\"screen-shot.png\" width=\"35%\" border=\"0\" alt=\"avo\" /\u003e\n  \u003cbr /\u003e\n\u003c/p\u003e\n\n## Dependencies\nThe downloading feature relies on [youtube-dl](https://github.com/rg3/youtube-dl/). You will need to install it on your server. In addition to that you will need to install [ffmpeg](https://www.ostechnix.com/install-ffmpeg-linux/) for the mp3 conversion.\n```shell\n$ sudo apt-get install ffmpeg\n```\n\n## Deployment\nThe following steps has been tested on Debian 9 so you will have to adapt the commands and configs according to your server distribution.\n1. Clone the repository on your server\n2. You need a SSL certificate. You can get one for free using [Let's encrypt](https://letsencrypt.org)\n3. Once you got your certificate, create a `.env` file inside the project directory. This file should contain the following informations\n    ``` bash\n    ENVIRONMENT=local\n    CERT_PATH=\u003cpath_to_your_certificate\u003e/fullchain.pem\n    CERT_KEY_PATH=\u003cpath_to_your_certificate_key\u003e/privkey.pem\n    VERIFY_TOKEN=\u003cyour_verify_token\u003e\n    ```\n4. Next step is to run the web service. Inside the project directory, run the build command (this will give you a binary file named `server`)\n    ```shell\n    $ go build server.go\n    ```\n5. I recommend using [supervisor](http://supervisord.org) to run the server as system service. You can of course use systemd if you want.\n\n    * Install supervisor with\n        ```shell\n        $ sudo apt-get install supervisor\n        ```\n\n    * Create the following configuration file `/etc/supservisor/conf.d/mi.conf` with the following content\n    \n        ```bash\n        [program:mi]\n        directory=/home/\u003cuser-name\u003e/go/src/mi\n        command=/home/\u003cuser-name\u003e/go/src/mi/server\n        autostart=true\n        autorestart=true\n        stderr_logfile=/var/log/mi.err.log\n        stdout_logfile=/var/log/mi.out.log\n        ```\n    \n    * Run the following commands\n        ```shell\n        $ supervisorctl reread\n        $ supervisorctl update\n        ```\n    \n    For more information about supervisor configuration, go [there](https://www.digitalocean.com/community/tutorials/how-to-install-and-manage-supervisor-on-ubuntu-and-debian-vps)\n\n\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fletsila%2Fmi","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fletsila%2Fmi","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fletsila%2Fmi/lists"}