All Projects → Zomis → Duga

Zomis / Duga

Licence: other
Stack Exchange Chat bot

Programming Languages

groovy
2714 projects
kotlin
9241 projects
java
68154 projects - #9 most used programming language
CSS
56736 projects
Dockerfile
14818 projects
javascript
184084 projects - #8 most used programming language

Projects that are alternatives of or similar to Duga

kotlin-oauth2-server
Flexible OAuth2 server library. Support for multiple frameworks
Stars: ✭ 123 (+515%)
Mutual labels:  ktor
RocketXDelight-Playground
Native Android application built with Kotlin and Jetpack Compose. This project also illustrates the usage of advanced libraries such as Ktor, SqlDelight, Hilt, etc with the recommended practices and Unit Tests.
Stars: ✭ 37 (+85%)
Mutual labels:  ktor
stack-exchange-notifications
Add-ons for Stack Exchange sites, like: askdifferent, askubuntu, serverfault, stackoverflow and superuser
Stars: ✭ 21 (+5%)
Mutual labels:  stackexchange
Ktor-OpenAPI-Generator
Ktor OpenAPI/Swagger 3 Generator
Stars: ✭ 203 (+915%)
Mutual labels:  ktor
JavaneseBackend
Javanese.online website back-end
Stars: ✭ 31 (+55%)
Mutual labels:  ktor
ktor demo
ktor demo
Stars: ✭ 22 (+10%)
Mutual labels:  ktor
kotlin-ktor-mysql-template
This example shows how to run Anychart library with Kotlin and MySQL.
Stars: ✭ 20 (+0%)
Mutual labels:  ktor
Lastik
Kotlin Multiplatform + Jetpack Compose pet project, based on www.last.fm/api (in development)
Stars: ✭ 37 (+85%)
Mutual labels:  ktor
kmm
Rick & Morty Kotlin Multiplatform Mobile: Ktor, Sqldelight, Koin, Flow, MVI, SwiftUI, Compose
Stars: ✭ 52 (+160%)
Mutual labels:  ktor
ToDometer Multiplatform
WIP Kotlin Multiplatform project: A meter to-do list built with Android Jetpack, Compose UI Multiplatform, Wear Compose, SQLDelight, Koin Multiplatform, SwiftUI, Ktor Server / Client, Exposed...
Stars: ✭ 145 (+625%)
Mutual labels:  ktor
sotoki
StackExchange websites to ZIM scraper
Stars: ✭ 64 (+220%)
Mutual labels:  stackexchange
graphoverflow
Run the entire StackOverflow on Dgraph. Work in progress.
Stars: ✭ 117 (+485%)
Mutual labels:  stackexchange
kotlin-simple-architecture
Kotlin Simple Architecture
Stars: ✭ 35 (+75%)
Mutual labels:  ktor
ufo-sightings-api
Sample GraphQL API Using Ktor and KGraphQL
Stars: ✭ 87 (+335%)
Mutual labels:  ktor
multi-projects-architecture-with-Ktor
A Ktor real world example built on multi-projects architecture
Stars: ✭ 29 (+45%)
Mutual labels:  ktor
kmpapp
👨‍💻 Kotlin Mobile Multiplatform App (Android & iOS). One Code To Rule Them All. MVVM, DI (Kodein), coroutines, livedata, ktor, serialization, mockk, detekt, ktlint, jacoco
Stars: ✭ 34 (+70%)
Mutual labels:  ktor
kotlin-ktor-realworld-example-app
Real world backend API built in Kotlin with Ktor + Kodein + Exposed
Stars: ✭ 117 (+485%)
Mutual labels:  ktor
intro-kotlin-mutliplatform
Kotlin Multiplatform project (MPP), JVM and JS
Stars: ✭ 21 (+5%)
Mutual labels:  ktor
jellyfin-sdk-kotlin
Kotlin SDK for Jellyfin, supporting Android and JVM Targets
Stars: ✭ 43 (+115%)
Mutual labels:  ktor
local-data-api
Data API for local, you can write unittest for AWS Aurora Serverless's Data API
Stars: ✭ 99 (+395%)
Mutual labels:  ktor

Duga

A bot named Duga for chat rooms on the Stack Exchange network. Responsibilities include:

  • When used as a Github webhook, instantly informs a chatroom about the activity
  • Can make requests to Github's API every now and then to check for recent events, informs a chat room if there is activity
  • Uses the Stack Exchange API to check comments refering users to Code Review and Programmers. Posts these comments in The 2nd Monitor and The Whiteboard, respectively.
  • Listens for chat commands in Duga's Playground.

Old Groovy Configuration

This is obsolete and duga-ktor should be used instead.

In the directory grails-app/conf, create a file named duga.groovy

// Configurations for the bot's Stack Exchange account:
rootUrl = 'https://stackexchange.com'
email = '[email protected]'
password = 'yourpassword'

// API configuration
stackAPI = 'xxxxxxxxx'
githubAPI = 'xxxxxxxxx'
commandPrefix = '@Duga ' // chat messages that begins with this will be considered as commands

// Database configuration
adminDefaultPass = 'xxxxxxxxx' // default password for username 'admin'

dataSource {
    username = 'xxxxxxxxx'
    password = 'xxxxxxxxx'
}

Also see the bottom part of grails-app/conf/application.groovy for more database configuration options.

Bot account setup

In order to run a StackExchange account as a chat bot, you need to follow the following steps:

  1. Create a StackExchange account on https://stackexchange.com
  2. Make sure you can log in to it
  3. Create an account on a specific site, for example https://codereview.stackexchange.com
  4. Earn 20 reputation, following the rules of the particular site
  5. Log in to https://chat.stackexchange.com
  6. Confirm that you can talk

Build and run tests

To build the project and run all tests:

./gradlew build
Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].