Coder Social home page Coder Social logo

chatbot's Introduction

Spring Boot ChatBot

Hi guys!

This is a project to build a ChatBot Framework based on Spring Boot.

Author

Feature

  • Spring Framework Based Environment
  • Easy to Implement each Platform(Discord, Line, Slack etc.)
  • Easy to expand Commands & Actions

Process

process

Core Packages

  • domain : this package is focusing on Subject like playing a Music, telling a joke or notice on Something via Controller & Service.

  • platform : this package is implementation of ChatBot interfaces depend on specific platform such as Discord, Slack or Line.

Core Concept

  • Command : Command is Enum class for predefined Actions. it has a Meta-Info values for filtering or finding a controller.

  • @CommandMapping : This annotation helps us find controller and method to be executed. it needs String Value named startCommand matching Command.

  • @ChatBotController : Actually, This annotation is same as @Controller, But it could help Dispatcher and distinguish @ChatBotController from @Controller when Dispatcher finds a controller.

  • ChatBotDispather : this interface has 2 methods. One is dispatch for finding controller and method to be executed. Another is onMessage to invoke them.

Release Notes

quick start

example

To-do

  • Event Driven Architecture(ref)
  • Batch Service
  • Auto Command Complete

Thanks to

kingbbode님

chatbot's People

Contributors

junwork123 avatar

Watchers

 avatar

chatbot's Issues

#feat : 메시지 템플릿 추가

답변 형식을 꾸며주는 메시지 템플릿 추가
커맨드 호출방식을 API 응답방식으로 변경
템플릿에 맞게 convert하도록 변경

#doc : readme.md 작성

프로젝트 소개
프로젝트 구성
프로젝트 흐름도(3가지 측면 : 개념, 코드, 사용)
기능별 구현 움짤

#bug : 커맨드 입력 시 무응답 버그

스프링을 실행시키고
이벤트를 등록해도 봇이 반응하지 않음

discord4j.gateway.retry.InvalidSessionException: Reconnecting due to non-resumable session invalidation
이런 메시지를 발견했음

#style #chore : 패키지 구조 및 이름 변경

style : 코드 의미에 영향을 주지 않는 변경사항

chore : 빌드 부분 혹은 패키지 매니저 수정사항

디스코드 챗봇 뿐만 아니라
다양한 사양에 대응할 수 있는 이름과 구조로 변경

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.