Skip to content

WinTenDev/ZiziBot.NET

Repository files navigation

Zizi Bot .NET

viewer

Official repository WinTenDev Zizi Bot, written in .NET

Status

CodeFactor License

Statistic

Lines of code GitHub repo file count GitHub repo size

Activity

GitHub last commit GitHub commit activity GitHub commit activity

Build

Zizi Bot Dev Zizi Bot Alpha

Build status Build status Build status

Binary

Name URL
ZiziBot Beta https://github.com/WinTenDev/ZiziBot.NET/releases
ZiziBot Stable https://github.com/WinTenDev/ZiziBot.NET/releases/latest

Deployment

Deploy to Zizi Beta Deploy to Zizi Bot

Workspace

Open in Gitpod

Preparation

  1. .NET 6 SDK
  2. MySQL/MariaDB (we under plan to migrate to MongoDB)
  3. MongoDB (Some data has stored to MongoDB)
  4. Bot Token (required)
  5. Nginx or OpenLiteSpeed for reverse proxy (Optional)
  6. ClickHouse (Optional, for analytic)
  7. Google Cloud API (Optional, for OCR, Drive, etc.)
  8. OptiicDev API (optional, for OCR)
  9. GitHub PAT (optional, for Advanced RSS for GitHub release)
  10. Uptobox Token (Optional, for Mirror)
  11. Datadog (Optional, for logging)
  12. Exceptionless (Optional, trace error)
  13. Sentry (Optional, trace error)
  14. EventLog (Optional, send error to ChatId)

Main feature

Here some main features, and some features are enabled by default.

  • Realtime AntiSpam check for Members. Powered by ES2, SpamWatch, UserGe and CAS.
  • Watching username, first Name and last Name changes (called Zizi Mata).
  • Scan Message for a prevention message contains spam, bad words or unattended strings.
  • Force subscription into a Linked and Added channel.
  • Flood Detector to reduce a message sent by member (BETA).
  • Anti-CapsLock for reducing to many uppercase characters (BETA).
  • Anti-Spam detector based on User activity (for Public Group only) (BETA).
  • AutoAnswer for Chat Join Request. As per feature above if enabled, some member check above will be run and action will be executed on the fly (Check Username, Profile Photo, Force Subscription etc.)

Additional feature

  • ShalatTime for Indonesia (can multiple city for one Private/Group).
  • OCR powered by OptiicDev API.
  • Generate and Read QR for replied Message.
  • RSS Feed (and Advanced RSS for a source like GitHub release).
  • Translate message text for replied Message.
  • Generate random number with some expression.
  • Get random Cat images.
  • EGS Free Weekly.
  • Subtitle search and Download, powered by subscene.com
  • Search word on KBBI.
  • And many others.

Run Development

  • Clone this repo and open .sln using your favorite IDE or Text Editor.
  • Install MySQL/MariaDB and create database e.g. zizibot_data.
  • Install MongoDB or use MongoDB Atlas.
  • Copy appsettings.example.json to appsettings.json and fill some property.
  • check an optional .json under Storage/AppSettings for some feature if you want, copy from Examples to Current and fill some property.
  • Press Start in your IDE to start debugging or via CLI.
  • Your bot has run local as Development using a Poll mode.

Run Production

Make sure you have fill appsettings.json and setup any requirement at Preparation section. For quick deployment, you can get a prebuilt binary, go to Releases tab.

Currently, available in the following bot