GithubHelp home page GithubHelp logo

camel-discord's Introduction

Camel Discord Component

build standard-readme compliant

This was way harder to do than it should have been

Table of Contents

About

Once I wanted to create a Discord bot that could be used as an interface to many other things. Reboot an EC2 instance on AWS, send an e-mail, etc.

Apache Camel is an integrations library. Adding a Discord component to it makes Discord very powerful. This is my attempt on creating a component.

Install

To build this project use

$ mvn install

Gradle

allprojects {
    repositories {
        ...
        maven { url 'https://jitpack.io' }
    }
}

dependencies {
        implementation 'com.github.meyer1994:camel-discord:0.0.2'
}

Maven

<repositories>
    <repository>
        <id>jitpack.io</id>
        <url>https://jitpack.io</url>
    </repository>
</repositories>

<dependency>
    <groupId>com.github.meyer1994</groupId>
    <artifactId>camel-discord</artifactId>
    <version>0.0.2</version>
</dependency>

Usage

You only need to define a @Bean, or use the Camel's @BindToRegistry annotation, to be autowired into the component:

@Bean  // Or @BindToRegistry
public JDA jda() throws LoginException {
    return JDABuilder.createDefault("YOUR_DISCORD_BOT_TOKEN")
            .enableIntents(GatewayIntent.MESSAGE_CONTENT)
            .build();
}

And now you can use the discord route. The example below shows a simple ping pong bot.

from("discord:ping")
        .filter().simple("${body.contentRaw} == '!ping'")
        .transform().constant("Pong!")
        .to("discord:pong");

Thanks

AWS' components. It served a very useful learning resource;

camel-discord's People

Contributors

dependabot[bot] avatar meyer1994 avatar

Watchers

 avatar  avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.