All Projects → JavaChat → OakBot

JavaChat / OakBot

Licence: other
A Java-based chat bot for Stackoverflow Chat

Programming Languages

java
68154 projects - #9 most used programming language
HTML
75241 projects

Projects that are alternatives of or similar to OakBot

CircBot
Simple YouTube LiveStream Chatbot (not maintained)
Stars: ✭ 14 (-62.16%)
Mutual labels:  chatbot
Python-BlackJackBot
A Telegram bot written in Python to play the game BlackJack alone or with your friends
Stars: ✭ 48 (+29.73%)
Mutual labels:  chatbot
messaging-apis
Messaging APIs for multi-platform
Stars: ✭ 1,759 (+4654.05%)
Mutual labels:  chatbot
saihubot
💬 client side chatbot that works in the browser and command line
Stars: ✭ 15 (-59.46%)
Mutual labels:  chatbot
blip-sdk-js
The Javascript SDK for BLiP
Stars: ✭ 29 (-21.62%)
Mutual labels:  chatbot
amelia 2.0
An Artificial Intelligence Chat Bot and Service Provider written in Python and AIML.
Stars: ✭ 19 (-48.65%)
Mutual labels:  chatbot
i-chatbot
Simple and elegant component for building conversational interfaces on React.
Stars: ✭ 52 (+40.54%)
Mutual labels:  chatbot
wp-chatbot
Simple Wordpress Plugin to add any chatbot to your web page
Stars: ✭ 17 (-54.05%)
Mutual labels:  chatbot
LineBotBabyLuis
A baby NLU chatbot using LUIS, Chinese website https://www.evanlin.com/go-luis-linebot/
Stars: ✭ 13 (-64.86%)
Mutual labels:  chatbot
leopard-chat-ui-teneo
Leopard Chat UI - A Teneo Chat Client based on Vue and Vuetify
Stars: ✭ 65 (+75.68%)
Mutual labels:  chatbot
Firebot
A powerful all-in-one bot for Twitch streamers
Stars: ✭ 162 (+337.84%)
Mutual labels:  chatbot
technopsyna
телеграм бот для техноконфы
Stars: ✭ 16 (-56.76%)
Mutual labels:  chatbot
GSTFAQChatbot
Set of scripts to build a chatbot which will answer FAQ about Goods and Services Tax (GST) India.
Stars: ✭ 37 (+0%)
Mutual labels:  chatbot
leon
🧠 Leon is your open-source personal assistant.
Stars: ✭ 8,560 (+23035.14%)
Mutual labels:  chatbot
msgbots
Messenger Bot Simulator ( Rhino )
Stars: ✭ 17 (-54.05%)
Mutual labels:  chatbot
NewMessengerBot
a new Messenger Bot Application with Hilt + ViewModel + Fragment.
Stars: ✭ 15 (-59.46%)
Mutual labels:  chatbot
PersonalAssistantChatbot
It is a personal assistant chatbot, capable to perform many tasks same as Google Assistant plus more extra features...
Stars: ✭ 79 (+113.51%)
Mutual labels:  chatbot
amazon-workmail-lambda-templates
Serverless applications for Amazon WorkMail.
Stars: ✭ 17 (-54.05%)
Mutual labels:  chatbot
TwitchBot
Custom C# chat bot for Twitch TV
Stars: ✭ 33 (-10.81%)
Mutual labels:  chatbot
QlikBotNet
Qlik Bot Net is an example chat bot which enables access to Qlik content via conversational analytics. It's built in .NET/C# and can be used with the Telegram messaging platform.
Stars: ✭ 20 (-45.95%)
Mutual labels:  chatbot

OakBot

codecov.io Known Vulnerabilities

OakBot is a chat bot for Stack Overflow Chat that's written in Java. It is named after the first name given to the Java programming language before it became "Java".

OakBot is most active in the Java chat room.

Requirements

  • Java 1.8
  • Maven (for building)

Build Instructions

To build the project, run the command below.

mvn package

This command will build the project and package it into an executable, shaded JAR. A shaded JAR file contains all of the project's dependencies. The shaded JAR file is saved here: target/OakBot-VERSION.jar.

Deploy Instructions

  1. Copy the following files to the server. Put them in the same directory:
    1. target/OakBot-VERSION.jar: The executable, shaded JAR file that contains OakBot's code and dependencies.
    2. bot-context.xml: This file contains configuration data and command definitions. A sample file is located in the root of this project.
    3. logging.properties (optional): The configuration file for the Java Logging API. A sample file is located in the root of this project.
  2. Run OakBot: java -jar OakBot-VERSION.jar
  3. Once the bot has fully started up, it will instruct you to press Ctrl+Z, then type the bg command. In Linux, this will move the program into the background and free up the shell.

db.json

This is the file OakBot uses to persist information, such as how many commands it has responded to and what rooms it has joined. It is located in the bot's working directory. The file will automatically be created if it doesn't exist.

bot-context.xml

Contains various configuration settings for the bot. Open the sample bot-context.xml file at the root of this project for a description of each setting.

OakBot must be restarted if any of these settings are changed while OakBot is running.

Adding/Removing Commands

All of the bot's commands are defined in the bot-context.xml file.

Commands can be added by creating a class that extends the Command interface, and then adding the class to bot-context.xml (you must also, of course, include your class in the Java classpath when running the bot).

This file uses Spring's IoC container library.

All of OakBot's commands are listed on the wiki.

CLI Arguments

Argument Description
--context=PATH The path to the Spring application context XML file that contains the bot's configuration settings and commands (defaults to "bot-context.xml"). Note: Absolute paths must be prefixed with "file:".
--mock Runs the bot using a mock chat connection for testing purposes.

A text file will be created in the root of the project for each chat room the bot is configured to connect to. These files are used to "send" messages to the mock chat rooms. To send a message, type your message into the text file and save it.

Messages are entered one per line. Multi-line messages can be entered by ending each line with a backslash until you reach the last line. You should only append onto the end of the file; do not delete anything. These files are re-created every time the program runs.

All messages that are sent to the mock chat room are displayed in stdout (this includes your messages and the bot's responses).
--quiet If specified, the bot will not output a greeting message when it starts up.
--version Prints the version of this program.
--help Prints descriptions of each argument.

Questions/Feedback

One way to reach me is in Stack Overflow's Java chat room. Please mention my name (@Michael) so I will see your message.

You can also submit bug reports and feature requests to the issue tracker.

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].