{"id":16497382,"url":"https://github.com/mlof/whippersnapper","last_synced_at":"2025-03-01T14:41:04.447Z","repository":{"id":179720376,"uuid":"664025046","full_name":"mlof/Whippersnapper","owner":"mlof","description":"A small transcription bot for Discord.","archived":false,"fork":false,"pushed_at":"2023-12-11T07:24:25.000Z","size":1952,"stargazers_count":2,"open_issues_count":6,"forks_count":0,"subscribers_count":1,"default_branch":"master","last_synced_at":"2025-01-12T06:07:15.558Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":"","language":"C#","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/mlof.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":"2023-07-08T18:01:40.000Z","updated_at":"2023-07-09T21:17:29.000Z","dependencies_parsed_at":null,"dependency_job_id":"b3b53485-4508-450b-837b-c4ba7e49eb2a","html_url":"https://github.com/mlof/Whippersnapper","commit_stats":null,"previous_names":["mlof/whippersnapper"],"tags_count":15,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/mlof%2FWhippersnapper","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/mlof%2FWhippersnapper/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/mlof%2FWhippersnapper/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/mlof%2FWhippersnapper/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/mlof","download_url":"https://codeload.github.com/mlof/Whippersnapper/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":241381519,"owners_count":19953749,"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":[],"created_at":"2024-10-11T14:39:25.875Z","updated_at":"2025-03-01T14:41:04.428Z","avatar_url":"https://github.com/mlof.png","language":"C#","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Whippersnapper\n\nA small transcription bot for Discord.\n\n## Usage\n\n1. Create a Discord bot in the developer portal.\n2. Add the bot's token to `appsettings.json`.\n3. Go to the OAuth2 -\u003e Url Generator tab in the Discord Developer Portal, select the bot scope, ensure the \"Send Messages\" and \"Embed Links\" permissions are selected and copy the generated URL.\n4. Paste the URL into your browser and select the server you want to add the bot to.\n5. Run the bot.\n\nIt will then automatically transcribe any voice messages sent in the server.\n\n## Configuration\n\nThe following configuration options are available:\n\n| Option | Description | Default |\n| ------ | ----------- | ------- |\n| `BotToken` | The Discord bot token. | `\"\"` |\n| `ModelFile` | The path to the model file. | `\"ggml-base.bin\"` |\n| `KeepAttachments` | Whether to keep the audio files after transcription. | `false` |\n| `StatusMessage` | The message to display as the bot's status. | `\"Always listening, never sleeping.\"` |\n| `BadWords` | A list of words to censor. | `[\"PHP\"]` |\n| `Translate` | Whether to translate the transcription to English. | `false` |\n| `Strategy` | The strategy to use for translation. | `\"WHISPER_SAMPLING_BEAM_SEARCH\"` |\n| `Threads` | The number of threads to use for transcription. | `4` |\n\n### Strategy\n\nThe strategy option determines how the translation is performed. The following strategies are available:\n\n| Strategy | Description |\n| -------- | ----------- |\n| `WHISPER_SAMPLING_GREEDY` | Greedy sampling. |\n| `WHISPER_SAMPLING_BEAM_SEARCH` | Beam search sampling. |\n\n\nThis can be configured in `appsettings.json`. \nIf you want to use a different model, you can download one from [here](https://huggingface.co/ggerganov/whisper.cpp) but i've found that the default one works well enough.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fmlof%2Fwhippersnapper","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fmlof%2Fwhippersnapper","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fmlof%2Fwhippersnapper/lists"}