Giter Club home page Giter Club logo

team-project-team12's Introduction

DDOKDDOK Build Status

DDOKDDOK Chatbot

  • DDOKDDOK Team의 UI 디자인 및 UI Controller 개발을 위한 Repository입니다.

Main Features

DDOKDDOK Chatbot의 시작을 위한 로그인 기능을 제공합니다.

  • 테스트를 위해 Twitch는 twitch, Youtube는 youtube를 입력하면 로그인하여 각 Platform의 메인창으로 이동합니다.
  • Twitch Platform에서 사용하기 위해서는, 사용 스트리머의 채널 이름(방송 url "twitch.tv/□" 에서의 '□'부분)을 입력하고 Twitch 버튼을 눌러야합니다.
  • Youtube Platform에서 사용하기 위해서는, 사용 스트리머 채널의 공유 url "youtube.com/watch?v=□"(혹은, "youtu.be/□) 에서의 '□'부분을 입력하고 Youtube 버튼을 눌러야합니다.
  • Youtube 버튼을 누르면, 사용자 인증 API키를 받는 2차 로그인 창과 함께, youtube 로그인을 위한 인터넷 창이 열립니다. youtube에 로그인을 하면 API 키가 "애플리케이션 ~ 붙여넣으세요."라는 메세지와 함께 나타나고, 이것을 DDOKDDOK Chatbot 프로그램에 입력하면 됩니다.

로그인에 실패하면 로그인 실패 안내창이 나타납니다.

  • 안내창을 닫으면 다시 로그인 할 수 있습니다.

DDOKDDOK Chatbot이 각 플랫폼에서 작동할 때, UI는 욕설 채팅 로그를 기록합니다.

  • 임시적으로 출력 테스트를 위한 값들을 default로 넣어두었습니다.
  • 채팅 로그는 해당 채팅의 내용과 함께 해당 채팅을 입력한 유저의 id와 nickname을 Table의 형식으로 표시해줍니다.(TO DO : Connection with model)
  • Table의 한 Column을 선택하여 해당하는 유저의 밴을 결정할 수 있습니다.

챗봇이 활용할 욕설 필터링 및 url링크, 입장 알림을 위한 Document(.txt file)들을 관리합니다.

  • 각 기능에 맞는 버튼을 누르면 각 기능에 해당하는 현재의 Document와 Document 수정을 위한 입력창이 열립니다.
  • 입력창에 수정할 내용을 입력한 뒤 추가 또는 삭제 버튼을 누르면 Document가 수정됩니다.

모든 리소스 파일은 코드와 분리되어 있습니다.

  • src/main/resources 폴더 아래에 image, fxml, font 등 각종 리소스 파일들이 존재합니다.
  • OATUH Key관리를 위한 JSON폴더의 경우 OATUH 키 보호를 위해 Git에 업로드되지 않으므로 반드시 Google 혹은 Twitch에서 개별적으로 키를 발급받아 사용하여야 합니다.

Package별 ReadMe가 존재합니다.

  • 세부적인 흐름을 파악하고 싶다면, 각 패키지 폴더(ex> src/main/java/twitch)에 존재하는 README.md파일을 확인하시기 바랍니다.

Installation

DDokDDok Youtube Live Streaming Python Module Repository

DDokDDok Youtube Module이 지원하는 기능들

  • 시청자가 입력한 !<명령> 에 반응하는 Chatbot입니다.
  • 기본적으로 !업타임 명령어가 탑재되어 있습니다.
  • 현재 !주사위, !추가, !업타임, !앵무새, 따라웃기, 채팅 로그 기능이 탑재되어 있습니다.
  • !주사위 : 무작위 수를 출력해줍니다.
  • !추가 : !추가 <!추가할명령> <BOT이출력할 문장> 으로 사용할 수 있으며, 추가한 명령은 따로 txt파일로 관리됩니다.
  • !삭제 : !삭제 <!삭제할명령> 으로 사용할 수 있으며, 존재하지 않거나 삭제된 명령은 삭제할 수 없습니다.
  • !업타임 : 방송을 시작하고 시간이 얼마나 지났는지 출력해줍니다.
  • 따라웃기기능 : 시청자가 일정 규모 이상으로 웃으면 bot도 따라서 웃습니다.
  • 채팅로그 기능 : bot을 실행한 이후 종료시까지 chat log를 작성해줍니다.

이 Release Version은 Windows 용입니다.

  • Youtube 기능을 사용하실때에는, 위에 게시된 DDokDDok Python Module의 README를 반드시 읽어주셔야 동작합니다.
  • 봇을 사용하기 전, .../src/main/java/Youtube에 위치한 java_get_auth_key1.pybot.pyFILE_PATH를 반드시 변경하여주십시오.

team-project-team12's People

Contributors

chyoungjae avatar comnamu18 avatar jjiho avatar jwoonge avatar kangyb1014 avatar reichidad avatar shieldnet avatar xogus1107 avatar ycs1m1yk avatar yjcheon avatar

Stargazers

 avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar

team-project-team12's Issues

CustomComand is volatile

CustomCommands at twitch are volatile
we have to reorganize it onto DataTable class and save it as txt file, or any file types

handleCustomCommand

Allowing everyone to use the 'custom command' feature can cause problems for malicious users to exploit.
It would be nice to give the chat room manager permission to run it.

Ban function(with UI) must be devided according to punishment level .

Ban function이 현재는 tableView의 한 row를 클릭하면 그 row에 해당하는 유저가 밴되는 방식인데, 이를 그 유저에 대한 처벌 수위를 밴 또는 타임아웃으로 선택할 수 있게 만들어야한다. 이에 대한 각 플랫폼에서의 타임아웃 구현과 UI 디자인이 필요하다.

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.