{"id":13492097,"url":"https://github.com/soruly/trace.moe-telegram-bot","last_synced_at":"2025-05-15T13:08:50.396Z","repository":{"id":11037833,"uuid":"68096407","full_name":"soruly/trace.moe-telegram-bot","owner":"soruly","description":"This Telegram Bot can tell the anime when you send an screenshot to it","archived":false,"fork":false,"pushed_at":"2025-04-28T05:22:10.000Z","size":920,"stargazers_count":531,"open_issues_count":0,"forks_count":80,"subscribers_count":27,"default_branch":"master","last_synced_at":"2025-04-28T06:27:28.215Z","etag":null,"topics":["anime","cbir","heroku","image-retrieval","image-search","telegram-bot","visual-search"],"latest_commit_sha":null,"homepage":"https://t.me/WhatAnimeBot","language":"JavaScript","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/soruly.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":".github/FUNDING.yml","license":"LICENSE","code_of_conduct":"CODE_OF_CONDUCT.md","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,"zenodo":null},"funding":{"github":["soruly"],"patreon":"soruly","open_collective":null,"ko_fi":null,"tidelift":null,"community_bridge":null,"liberapay":null,"issuehunt":null,"otechie":null,"custom":"https://www.paypal.me/soruly/"}},"created_at":"2016-09-13T09:55:13.000Z","updated_at":"2025-04-28T05:22:14.000Z","dependencies_parsed_at":"2023-02-12T07:16:36.464Z","dependency_job_id":"23cd9122-e536-4349-b57f-15878946db36","html_url":"https://github.com/soruly/trace.moe-telegram-bot","commit_stats":{"total_commits":402,"total_committers":10,"mean_commits":40.2,"dds":0.4626865671641791,"last_synced_commit":"710468b580864af841b16628fcab910b12318f18"},"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/soruly%2Ftrace.moe-telegram-bot","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/soruly%2Ftrace.moe-telegram-bot/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/soruly%2Ftrace.moe-telegram-bot/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/soruly%2Ftrace.moe-telegram-bot/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/soruly","download_url":"https://codeload.github.com/soruly/trace.moe-telegram-bot/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":254346624,"owners_count":22055808,"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":["anime","cbir","heroku","image-retrieval","image-search","telegram-bot","visual-search"],"created_at":"2024-07-31T19:01:03.101Z","updated_at":"2025-05-15T13:08:45.386Z","avatar_url":"https://github.com/soruly.png","language":"JavaScript","funding_links":["https://github.com/sponsors/soruly","https://patreon.com/soruly","https://www.paypal.me/soruly/"],"categories":["JavaScript","TypeScript"],"sub_categories":[],"readme":"# trace.moe-telegram-bot\n\n[![License](https://img.shields.io/github/license/soruly/trace.moe-telegram-bot.svg?style=flat-square)](https://github.com/soruly/trace.moe-telegram-bot/blob/master/LICENSE)\n[![GitHub Workflow Status](https://img.shields.io/github/actions/workflow/status/soruly/trace.moe-telegram-bot/docker-image.yml?style=flat-square)](https://github.com/soruly/trace.moe-telegram-bot/actions)\n[![Docker](https://img.shields.io/docker/pulls/soruly/trace.moe-telegram-bot?style=flat-square)](https://hub.docker.com/r/soruly/trace.moe-telegram-bot)\n[![Docker Image Size](https://img.shields.io/docker/image-size/soruly/trace.moe-telegram-bot/latest?style=flat-square)](https://hub.docker.com/r/soruly/trace.moe-telegram-bot)\n[![Discord](https://img.shields.io/discord/437578425767559188.svg?style=flat-square)](https://discord.gg/K9jn6Kj)\n\nThis Telegram Bot can tell the anime when you send an screenshot to it\n\nhttps://telegram.me/WhatAnimeBot\n\nhttps://user-images.githubusercontent.com/1979746/126060529-8a33523a-967b-48de-9f67-bd0273076e7b.mp4\n\n## Features\n\n- Show anime titles in multiple languages\n- Telegram group support\n- Image, GIF, Video, URL support (stickers are not supported)\n- Video preview\n\n## How to use\n\n1. Start chatting with the bot https://telegram.me/WhatAnimeBot\n2. Send anime screenshots (images, gif or video) directly to the bot\n3. You may also forward images from other chats to the bot\n4. The bot will tell you the anime, episode, and time code of it\n5. It will also send you a video preview of that scene\n\n## How to use (in group)\n\n1. Add the bot `@WhatAnimeBot` to your group\n2. Reply to any group image, mention the bot with `@WhatAnimeBot`\n3. Wait for the bot to reply\n\n_Note that the bot has no access to your messages before it is added to your group_\n\n## How to host the bot on your own\n\nIf you have privacy concern, you can host the bot on your own.\n\nPlease read [Telegram's official tutorial to create a Bot](https://core.telegram.org/bots) first.\n\nYou need to disable [Privacy Mode](https://core.telegram.org/bots#privacy-mode) if you want to use your bot in group chat.\n\n### Environment Variables\n\n```\nTELEGRAM_TOKEN=       # e.g. 111111111:AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\nTELEGRAM_WEBHOOK=     # e.g. https://your.host.com/\nPORT=                 # (optional) Default: 3000\nADDR=                 # (optional) Default: 0.0.0.0\nTRACE_MOE_KEY=        # (optional)\nANILIST_API_URL=      # (optional) Default: https://graphql.anilist.co/\n```\n\n### Deploy to Heroku\n\n[![Deploy](https://www.herokucdn.com/deploy/button.svg)](https://heroku.com/deploy?template=https://github.com/soruly/trace.moe-telegram-bot)\n\n### Host with docker\n\nDocker Image available on [Docker Hub](https://hub.docker.com/repository/docker/soruly/trace.moe-telegram-bot) or [GitHub Container Registry](https://github.com/soruly/trace.moe-telegram-bot/pkgs/container/trace.moe-telegram-bot)\n\n```\ndocker run -it --rm --name trace-moe-tg-bot \\\n  -e TELEGRAM_WEBHOOK=https://your.host.com/ \\\n  -e TELEGRAM_TOKEN=111111111:AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA \\\n  -p 443:3000 \\\n  ghcr.io/soruly/trace.moe-telegram-bot:latest\n\n```\n\nNote that you need to configure a reverse proxy if you need HTTPS.\n\n### Host bare-metal with Node.js\n\nInstall Node.js \u003e= 20.12, then:\n\n```\ngit clone https://github.com/soruly/trace.moe-telegram-bot.git\ncd trace.moe-telegram-bot\nnpm install\n```\n\n- Copy `.env.example` to `.env`\n- Edit `.env` as you need\n\n```\nnode server.js\n```\n\n### Host bare-metal with pm2\n\nYou also can use [pm2](https://pm2.keymetrics.io/) to run this in background in cluster mode.\n\nUse below commands to start / restart / stop server.\n\n```\nnpm run start\nnpm run stop\nnpm run reload\nnpm run restart\nnpm run delete\n```\n\nTo change the number of nodejs instances, edit ecosystem.config.json\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fsoruly%2Ftrace.moe-telegram-bot","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fsoruly%2Ftrace.moe-telegram-bot","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fsoruly%2Ftrace.moe-telegram-bot/lists"}