Skip to content

openexis/kumiko

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

97 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Kumiko

Kumiko is a versatile Telegram bot written in TypeScript using Deno and the Grammy framework. It serves as both an anime information bot and a moderation tool for Telegram groups.

Features

Anime Information

  • Utilizes the Shikimori API to fetch anime details
  • Two ways to search for anime:
    1. Inline mode: @kumikorobot anime name
    2. Command: /anime anime name

Moderation Commands

(For admins and owners - wield your power wisely!)

  • /ban: Give a troublemaker an extended vacation from the chat
  • /mute: Put a chatty user's keyboard on silent mode
  • /unban: Grant a banned user a second chance at redemption
  • /unmute: Restore a muted user's voice to the chat
  • /warn: Issue a yellow card to a user who's skating on thin ice
  • /unwarn: Erase a warning and wipe the slate clean

Remember: Three strikes and they're out! (3 warnings = automatic ban)

User Role Detection

  • Uses middlewares to detect and handle:
    • Admin users
    • Owner
    • Regular users

Additional Features

  • Currency exchange functionality

Technology Stack

  • Language: TypeScript
  • Runtime: Deno
  • Framework: Grammy (Telegram Bot API framework for Deno)
  • Deployment: Deno Deploy

Installation

As Kumiko is a Telegram bot, there's no need for end-users to install anything. To add Kumiko to your Telegram group, simply search for @kumikorobot on Telegram and start a chat or add it to your group.

Usage

Anime Search

  • Inline mode: In any chat, type @kumiko_bot followed by the anime name you want to search for.
  • Command mode: In a chat where Kumiko is present, use /anime followed by the anime name.

Moderation Commands

(Only available for admins and owners)

  • /ban, /mute, /unban, /unmute: Manage user restrictions
  • /warn, /unwarn: Manage user warnings Note: 3 warnings result in an automatic ban, resetting the warning count

Currency Exchange

Simply type an amount followed by a valid currency code. Kumiko will respond with the equivalent amounts in UZS (Uzbek Som) and RUB (Russian Ruble).

Examples:

  • 100 USD
  • 50 EUR
  • 1000 JPY

Kumiko automatically detects the currency and provides the exchange rates.

Development

To set up the development environment:

  1. Install Deno: Deno Installation Guide
  2. Clone the repository:
git clone https://github.com/openexis/kumiko.git
  1. Navigate to the project directory:
cd kumiko
  1. Run the bot locally:
deno run --allow-net mod.ts

Deployment

Kumiko is deployed using Deno Deploy. For deployment instructions, refer to the Deno Deploy documentation.

Contributing

Contributions to Kumiko are welcome! Please feel free to submit pull requests, create issues or spread the word.

License

This project is licensed under the MIT License - see the LICENSE file for details.

Releases

No releases published

Packages

No packages published