A simply better way to make Discord bots.

Overview

Cognite

πŸš€ A simple blazingly fast language agnostic microservice driven Discord bot framework made in rust that leverages Apache Kafka and KeyDB to take care of the gateway and caching leaving the handling for you to do in your preferred programming language with toolings to help you bring in your preferred Database of choice and presets is some langauges to help you get started.

Everything in Cognite is a cog. Your bot is a cog, a web dashboard is a cog, even caching is a cog.

This way of functioning is aided by the modularity offered by the microservice architecture driven by using Kafka and provides several benefits, some of which are:

  • Everything is opt-in so you can have only what you need running at once.
  • Everything is extremely modular so you can mix, match, use and reuse cogs made by you and other without any additional hassle.
  • It's language agnostic which not only means you can use your preferred langauge but you can also use different langauges for different parts of your bot or even have a team of people who use different langauges work together on one thing.

...and much much more, the sky's the limit!

Requirements

  • Apache Kafka
  • KeyDB
  • Rust

Usage

  • Clone this repository via
git clone https://github.com/Eludris/cognite
  • Change the variables in .env.example to work for you and rename it to .env
  • Configure the init.lua file if you need to.
  • Start a Kafka instance which has a topic maching the one in your .env
  • Start cognite-gateway by running
cargo run --release --manifest-path=gateway/Cargo.toml

If you want to opt-in into caching must:

  • Start a KeyDB instance.
  • Start cognite-cache by running
cargo run --release --manifest-path=cache/Cargo.toml

Finally, start your cogs and you're all set!

Official Wrappers

You might also like...
kindly is a simple Rust implementation of a set-user-ID-root program, similar to sudo but in a much reduced way.

kindly is a simple Rust implementation of a set-user-ID-root program, similar to sudo but in a much reduced way.

Advent of Code 2015, done entirely in Rust both for the challenge and as a way to learn

Advent of Code 2015 In preparation for Advent of Code 2021, I wanted to go back and try some of the older challenges. I figured it made the most sense

qn (quick note) is a simple, fast and user-friendly way to save notes πŸ¦€βš™οΈ
qn (quick note) is a simple, fast and user-friendly way to save notes πŸ¦€βš™οΈ

Quick Note qn Install This is currently for my personal use. I may push breaking changes at any time. If you want to use it, bring down the code and r

The easiest way to use BotiCord API in Rust
The easiest way to use BotiCord API in Rust

The easiest way to use BotiCord API in Rust Β· Docs Usage [dependencies]

Provide expansion of proc-macros, in a way that rustc directs you directly to the issues at hand

expander Expands a proc-macro into a file, and uses a include! directive in place. Advantages Only expands a particular proc-macro, not all of them. I

Tool to make Solus packaging even easier.

A small tool to make packaging for Solus even easier. Features Remove all packages from the local solbuild repo.

CLI tool that make it easier to perform multiple lighthouse runs towards a single target and output the result in a "plotable" format.

Lighthouse Groupie CLI tool that make it easier to perform multiple lighthouse runs towards a single target and output the result in a "plotable" form

little brother of gnu-copypasta-maker To compile, use make.

UWU Maker little brother of gnu-copypasta-maker To compile, use make. To install, use sudo make install or if you are root make install To uninstall,

Macros to make writing proc-macro crates easy

proc-easy Macros to make writing proc-macro crates easy. This crate provides mainly macros and supporting types and traits to reduce amount of boilerp

Owner
Eludris
Eludris
Rust Keeper bots that run various functions, from liquidations, to orderbook cranks, and more.

The zo-keeper (pronounced "zoo keeper") repository runs large scale instructions that secure the 01 network, and allow it to operate in a fully decentralized manner.

Zero One Global Foundation 59 Aug 7, 2022
Utility to quickly setup Starcraft Broodwar matches between 2 or more bots

BWAIShotgun Utility to quickly setup Starcraft Broodwar matches between 2 or more bots Be aware that all bots will be executed directly, without any l

Dennis Waldherr 4 May 1, 2022
An abstraction build on top of discord-rich-presence that makes possible to use it in a more declarative way

Declarative Discord Rich Presence This library is an abstraction build on top of discord-rich-presence crate that allows you to use it in a more decla

null 2 Sep 7, 2022
A Discord bot focused on addressing the inherent problems with Discord, to allow a more socialist/anarchist organization of servers.

ACABot A Discord bot focused on addressing the inherent problems with Discord, to allow a more socialist/anarchist organization of servers (or "guilds

null 4 May 3, 2022
A programming language. Better mantra pending.

Dusk Dusk is a programming language I've been working on on and off for the past while now. It's still very much in its infancy (... a quick look thro

Kaylynn Morgan 14 May 28, 2022
A better message queue built by rust

bettermq A better message queue built by rust I start this project to study Rust

Sun Junyi 11 Aug 23, 2022
Building a better screen reader for the Linux desktop, one step at a time.

Building a better screen reader for the Linux desktop, one step at a time.

Odilia 22 Sep 19, 2022
The simplest way to de-Google your life and business: Inbox, Calendar, Files, Contacts & much more

Bloom The all-in-one private workspace Try it for free! You no longer trust tech monopolies with your data? You are done with your privacy invaded by

Sylvain Kerkour 1.5k Sep 26, 2022
Milho (corn in portuguese) is a toy dialect of Lisp written as a way to learn more about compilers

Milho (corn in portuguese) is a toy dialect of Lisp written as a way to learn more about compilers. There are implementations in rust and go

Celso Bonutti 27 May 4, 2022
Display strings in a safe platform-appropriate way

os_display Printing strings can be tricky. They may contain control codes that mess up the message or the whole terminal. On Unix even filenames can c

Jan Verbeek 18 Apr 29, 2022