Discobeat is an elastic beat that publishes messages from Discord to elasticsearch

Discobeat

Discobeat is an elastic beat that publishes messages from Discord to elasticsearch

Ensure that this folder is at the following location: ${GOPATH}/src/github.com/fergloragain/discobeat

Getting Started with Discobeat

Requirements

Build

To build the binary for Discobeat run the command below. This will generate a binary in the same directory with the name discobeat.

make

Configuration

Discobeat can be used with either a standard Discord username and password, or with a Bot token.

For each user specified, Discord will query all guilds and all channels that user has access to, and publish the most recent messages in each channel to elasticsearch.

If archive is set to true, Discobeat will fetch the entire message history for each channel, 100 messages at a time, though this will result in a much longer execution time.

If a list of Guild IDs is specified under a particular user, then only those Guilds will be queried for messages. If no Guilds are specified, all Guilds associated with the user will be queried. Furthermore, if a list of channel IDs is specified under a Guild, only those channels within that Guild will be queried. If a list of channel IDs is not specified under a Guild, all channels under the Guild will be queried.

For an example of the configuration structure, see this reference configuration

Run

To run Discobeat with debugging output enabled, run:

./discobeat -c discobeat.yml -e -d "*"

Test

To test Discobeat, run the following command:

make testsuite

alternatively:

make unit-tests
make system-tests
make integration-tests
make coverage-report

The test coverage is reported in the folder ./build/coverage/

Update

Each beat has a template for the mapping in elasticsearch and a documentation for the fields which is automatically generated based on fields.yml by running the following command.

make update

Cleanup

To clean Discobeat source code, run the following command:

make fmt

To clean up the build directory and generated artifacts, run:

make clean

Clone

To clone Discobeat from the git repository, run the following commands:

mkdir -p ${GOPATH}/src/github.com/fergloragain/discobeat
git clone https://github.com/fergloragain/discobeat ${GOPATH}/src/github.com/fergloragain/discobeat

For further development, check out the beat developer guide.

Packaging

The beat frameworks provides tools to crosscompile and package your beat for different platforms. This requires docker and vendoring as described above. To build packages of your beat, run the following command:

make release

This will fetch and create all images required for the build process. The whole process to finish can take several minutes.

Similar Resources

HTTP server receives events and publishes them to STAN

HTTP server receives events and publishes them to STAN

Publishes events to Nats Streaming(STAN) synchornously and asynchronously. Cache events's publish-state using Redis and Store events using MongoDB.

Dec 30, 2022

One-stop shop for english-translated licensed hentai manga and doujins, beat your meat in peace, without any bullshit and drama attached to it.

koushoku Source code of site [redacted] for those who are willing to run their own instance. How it serve and index the archives Archives and its file

Jan 2, 2023

Wipe-discord - TUI application to erase Discord messages

Wipe-discord - TUI application to erase Discord messages

wipe-discord Terminal user interface (TUI) application to delete Discord message

Aug 21, 2022

A simple way of sending messages from the CLI output to your Discord channel with webhook.

A simple way of sending messages from the CLI output to your Discord channel with webhook.

discat A simple way of sending messages from the CLI output to your Discord channel with webhook. Actually, this is a fork version of slackcat that I

Nov 15, 2022

Extract sent emojis from your Discord messages, and download them

Extract sent emojis from your Discord messages, and download them

discord-emoji-extractor Download all the emojis you've ever sent inside messages on Discord. Supports skipping duplicates and resuming downloads. Usag

Nov 7, 2022

Discord bot to find the most liked messages

Emotive Emotive is a discord bot written in Go made for OCM Discord that can tell you the most interesting messages in a channel. These are based on t

Nov 8, 2021

A Discord bot for downloading attachments from channel messages.

A Discord bot for downloading attachments from channel messages.

dcdl This is a Discord bot for downloading attachments from channel messages. Setup First, set up a Discord bot application (see here how to do so). N

May 11, 2022

Bridge Chrome "native messages" to Discord's IPC socket

chrome-discord-bridge This code bridges Chrome "native messages" to Discord's IPC socket. It's written in Go with no third-party dependencies. It's in

Nov 18, 2022

Cloud-native way to provide elastic Jupyter Notebook services on Kubernetes

Cloud-native way to provide elastic Jupyter Notebook services on Kubernetes

elastic-jupyter-operator: Elastic Jupyter on Kubernetes Kubernetes 原生的弹性 Jupyter 即服务 介绍 为用户按需提供弹性的 Jupyter Notebook 服务。elastic-jupyter-operator 提供以下特性

Dec 29, 2022

Elastic Key-Value Storage With Strong Consistency and Reliability

Elastic Key-Value Storage With Strong Consistency and Reliability

What is Elasticell? Elasticell is a distributed NoSQL database with strong consistency and reliability. Compatible with Redis protocol Use Elasticell

Dec 28, 2022

Prometheus exporter for Amazon Elastic Container Service (ECS)

ecs_exporter 🚧 🚧 🚧 This repo is still work in progress and is subject to change. This repo contains a Prometheus exporter for Amazon Elastic Contai

Nov 27, 2022

Amazon Elastic Container Service Agent

Amazon Elastic Container Service Agent

Amazon ECS Container Agent The Amazon ECS Container Agent is a component of Amazon Elastic Container Service (Amazon ECS) and is responsible for manag

Jan 2, 2023

Amazon ECS Container Agent: a component of Amazon Elastic Container Service

Amazon ECS Container Agent: a component of Amazon Elastic Container Service

Amazon ECS Container Agent The Amazon ECS Container Agent is a component of Amazon Elastic Container Service (Amazon ECS) and is responsible for manag

Dec 28, 2021

Elastic Stack Docker + Sample Go AppElastic Stack Docker + Sample Go App

Elastic Stack Docker + Sample Go AppElastic Stack Docker + Sample Go App

📶 Elastic Stack Docker + Sample Go App Test Elastic Stack which includes Elasticsearch, Kibana, Filebeat and Metricbeat. It comes with a very simple

Jan 14, 2022

Cloud-on-k8s- - Elastic Cloud on Kubernetes (ECK)

Elastic Cloud on Kubernetes (ECK) Elastic Cloud on Kubernetes automates the depl

Jan 29, 2022

Test-csi-driver - Amazon Elastic Block Store (EBS) CSI driver

Amazon Elastic Block Store (EBS) CSI driver Overview The Amazon Elastic Block St

Feb 1, 2022

Application - A software-as-a-service available to clients globally as a multi-tenant elastic solution based on the Bhojpur.NET Platform

Bhojpur Application - Foundation Framework The Bhojpur Application is a primary

Sep 26, 2022

A Terraform module to manage cluster authentication (aws-auth) for an Elastic Kubernetes (EKS) cluster on AWS.

Archive Notice The terraform-aws-modules/eks/aws v.18.20.0 release has brought back support aws-auth configmap! For this reason, I highly encourage us

Dec 4, 2022

discord bot that plays music in a voice channel discord

Music discord bot by serje3 Description A bot written in the Golang language plays music on your server's voice channel on Discord. It can be built an

Nov 17, 2021
Парсер технологического журнала, основанный на стеке технологий Golang goroutines + Redis + Elasticsearch.
Парсер технологического журнала, основанный на стеке технологий Golang goroutines + Redis + Elasticsearch.

go-techLog1C Парсер технологического журнала, основанный на стеке технологий Golang goroutines + Redis + Elasticsearch. Стек является кросс-платформен

Nov 30, 2022
Vuls Beater for Elasticsearch - connecting vuls

vulsbeat Welcome to vulsbeat.Please push Star. This software allows you Vulnerability scan results of vuls can be imported to Elastic Stack.

Jan 25, 2022
An Elasticsearch Migration Tool.

An Elasticsearch Migration Tool Elasticsearch cross version data migration. Dec 3rd, 2020: [EN] Cross version Elasticsearch data migration with ESM Fe

Dec 19, 2022
This utility parses stackoverflow data and pushes it to Zinc/Elasticsearch

Gostack This utility parses stackoverflow data and pushes it to Zinc/Elasticsear

Jun 8, 2022
Quickly collect data from thousands of exposed Elasticsearch or Kibana instances and generate a report to be reviewed.
Quickly collect data from thousands of exposed Elasticsearch or Kibana instances and generate a report to be reviewed.

elasticpwn Quickly collects data from exposed Elasticsearch or Kibana instances and generates a report to be reviewed. It mainly aims for sensitive da

Nov 9, 2022
Zinc Search engine. A lightweight alternative to elasticsearch that requires minimal resources, written in Go.
Zinc Search engine. A lightweight alternative to elasticsearch that requires minimal resources, written in Go.

Zinc Search Engine Zinc is a search engine that does full text indexing. It is a lightweight alternative to Elasticsearch and runs using a fraction of

Jan 1, 2023
Purpose: dump slack messages, users and files using browser token and cookie.

Slack Dumper Purpose: dump slack messages, users and files using browser token and cookie. Typical usecase scenarios: You want to archive your private

Jan 2, 2023
discord rich status for bash

bashcord discord rich presence for bash Installation go get github.com/deletescape/bashcord@latest Setup Put the following into your .bashrc, this mak

Dec 11, 2022
Elastic is an Elasticsearch client for the Go programming language.

Elastic is an Elasticsearch client for the Go programming language.

Jan 9, 2023
Pulumi provider for the Elasticsearch Service and Elastic Cloud Enterprise

Terraform Bridge Provider Boilerplate This repository contains boilerplate code for building a new Pulumi provider which wraps an existing Terraform p

Nov 18, 2022