{"id":18892086,"url":"https://github.com/anas-araid/moview-webhook","last_synced_at":"2025-10-04T01:45:00.872Z","repository":{"id":90188395,"uuid":"309112333","full_name":"anas-araid/moview-webhook","owner":"anas-araid","description":"telegram movie recommendation bot.","archived":false,"fork":false,"pushed_at":"2023-03-01T17:44:49.000Z","size":103,"stargazers_count":1,"open_issues_count":0,"forks_count":3,"subscribers_count":2,"default_branch":"main","last_synced_at":"2025-04-15T00:05:56.091Z","etag":null,"topics":["chatbot","dialogflow","movie","movie-recommendation","telegram-bot","tmdb-api","webhook"],"latest_commit_sha":null,"homepage":"https://t.me/moview_chatbot","language":"JavaScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/anas-araid.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"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":"2020-11-01T14:21:11.000Z","updated_at":"2023-03-01T17:44:56.000Z","dependencies_parsed_at":null,"dependency_job_id":"235e05d5-ebf5-4832-8f0f-48669b5be78f","html_url":"https://github.com/anas-araid/moview-webhook","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/anas-araid/moview-webhook","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/anas-araid%2Fmoview-webhook","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/anas-araid%2Fmoview-webhook/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/anas-araid%2Fmoview-webhook/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/anas-araid%2Fmoview-webhook/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/anas-araid","download_url":"https://codeload.github.com/anas-araid/moview-webhook/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/anas-araid%2Fmoview-webhook/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":278254470,"owners_count":25956598,"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","status":"online","status_checked_at":"2025-10-03T02:00:06.070Z","response_time":53,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"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":["chatbot","dialogflow","movie","movie-recommendation","telegram-bot","tmdb-api","webhook"],"created_at":"2024-11-08T08:01:07.004Z","updated_at":"2025-10-04T01:45:00.842Z","avatar_url":"https://github.com/anas-araid.png","language":"JavaScript","funding_links":[],"categories":[],"sub_categories":[],"readme":"\u003cdiv align=\"center\"\u003e\n  \u003ch1\u003emoview\u003c/h1\u003e\n  \u003cp\u003eAn open source movie recommendation bot for Telegram.\u003c/p\u003e\n  \u003cimg src=\"https://anasaraid.me/hosting/moview/moview_logo.png\" alt=\"logo\" align=\"center\" width=\"170px\" /\u003e\n\u003c/div\u003e\n\n#### tech stack\n\n  - [ExpressJS](https://vuejs.org/)\n  - [Dialogflow library](https://github.com/dialogflow/dialogflow-fulfillment-nodejs)\n  - [TMDB api](https://developers.themoviedb.org/3/getting-started/introduction)\n\n####\n\nWith [moview](https://t.me/moview_chatbot) you can ask for a movie of a certain:\n- actor\n- director\n- genre\n- year\n- language\netc.\n\nFor example: *\"give me a comedy movie from 2010\"*\n\n\n### Getting Started\n\n1. scaricare o clonare il progetto **https://github.com/asdf1899/moview-webhook.git**\n2. nella root del progetto creare un file .env\n3. dentro il file .env aggiungere l'api key di tmdb (in questo modo **TMDB_KEY=api_key_di_tmdb**), la porta di rete (**PORT=8080**) e **JSON_BIN_NUMBER=api_key_di_extendsclass**\n4. eseguire il comando **npm install**\n5. creare un branch col tuo nome es. *moview_mario*\n6. per far partire il progetto eseguire **node src/index.js** oppure **npm run start**\n7. una volta completate le modifiche seguire le istruzioni in [*contribution*](https://github.com/asdf1899/moview-webhook/tree/main#contribution)\n###### Se nessuno sta lavorando al bot puoi testarlo in questo modo:\n6. scaricare ngrok\n6. rendi il server temporaneamente online (**ngrok http 8080**)\n7. copiare l'url di ngrok (la versione https) in \"webhook\" nella sezione Fulfillment di Dialogflow\n\n### Structure\n\n- node_modules -----------------------(librerie) \n- src\n  - api\n    - handlers.js ------------------(funzioni con intent)\n    - movieControllers.js ---------(funzioni che comunicano con tmdb)\n  - bot\n    - index.js ----------------------(bot telegram) -\u003e NON SERVE PIU' (ma lo teniamo perchè non si sa mai)\n  - server.js ---------------------------(server e webhook)\n- .env ------------------------------------(variabili d'ambiente)\n- .package.json --------------------------(configurazioni varie)\n\n### Contribution\nPremessa: non lavorare direttamente nel branch main, ma nel tuo branch *moview_nome*\n\n1. Prima di fare una [pull request](https://docs.github.com/en/free-pro-team@latest/github/collaborating-with-issues-and-pull-requests/creating-a-pull-request), dal tuo branch (moview_nome), scaricare l'ultima versione del progetto usando il comando \"**git pull origin main**\"\n2. se non ci sono problemi, dal tuo branch eseguire il comando **git push origin moview_nome** (sostituire moview_nome col tuo nome)\n    - ATTENZIONE: non fare git push se sei nel branch main\n    - Controlla sempre di essere nel tuo branch (moview_nome)\n    - Se è la prima volta che fai push dal tuo branch ti chiederà di aggiungere il branch a remote usando il comando *git push --set-upstream origin moview_nome*\n3. dalla repo su Github, aprire la scheda *pull requests* oppure direttamente da [qua](https://github.com/asdf1899/moview-webhook/pulls)\n4. cliccare il pulsante verde \"New pull request\"\n5. selezionare il tuo branch (moview...) e il branch base (**development**) com in figura\n\u003cimg src=\"https://anasaraid.me/hosting/moview/pull.png\"/\u003e\n6. aggiungere nel commento le modifiche effettuate ed infine cliccare sul pulsante \"create pull request\"\n\n\u003cbr\u003e\n\n### Deployment\n\nPer pubblicare il progetto su heroku è consigliato utilizzare un branch a parte (per es. production), dove il codice è 'pulito' e non ci sono console.log() o altro codice che potrebbe 'sporcare' la console.\n\nSe si è stati aggiunti come contributor in heroku, per pubblicare una nuova versione del progetto:\n- spostarsi su un branch production\n- fare il merge delle modifiche\n- sistemare il codice (togliere i console.log() ecc.)\n- da terminale eseguire il comando *heroku login* (verrai reindirizzato sul tuo browser per fare il login)\n- poi *heroku git:remote -a moviewbot*\n- ed infine *git push heroku production:main* (utilizzare branch:main se si vuole pushare da un branch diverso da main in locale a main su heroku)\nI log del server si possono consulare o sulla dashboard di heroku sul sito, oppure direttamente dal terminale, utilizzando il comando *heroku logs --tail*\n\n\n\u003cbr\u003e\n\nVisto che non c'è documentazione per dialogflow fullfillment (nodejs), conviene cercarsi le robe che servono direttamente all'interno della [libreria](https://github.com/dialogflow/dialogflow-fulfillment-nodejs/tree/master/src) su Github\n\n\n\n\u003cbr\u003e\n\n\n### Authors\n\n- [Anas Araid](https://www.github.com/anas-araid)\n- [Valentino Frasnelli](https://www.github.com/valefras)\n- [Lorenzo Bocchi](https://www.github.com/bocchilorenzo)\n- [Erich Robbi](https://www.github.com/erich-r)\n- [Nicola Pasqualini](https://www.github.com/nicolapasqua99)\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fanas-araid%2Fmoview-webhook","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fanas-araid%2Fmoview-webhook","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fanas-araid%2Fmoview-webhook/lists"}