GithubHelp home page GithubHelp logo

yf-dev / open-dccon-selector Goto Github PK

View Code? Open in Web Editor NEW
2.0 2.0 0.0 36.93 MB

Twitch Extension for quick Dccon chat

Python 53.77% JavaScript 10.93% Shell 2.84% HTML 0.65% Vue 25.55% Mako 0.80% CSS 3.60% Dockerfile 1.54% SCSS 0.32%
twitch-extensions twitch dccon emoticon

open-dccon-selector's Introduction

Open Dccon Selector

한국어

Open Dccon Selector is a Twitch overlay extension for Streamers that support Dccon chat. By using Open Dccon Selector, viewers can find and use Dccons through overlay.

Video Tutorial

You can watch the video tutorial by clicking thumbnail below.

Introduction and setup guide of Open Dccon Selector

What is Dccon chat?

Dccon chat is a feature that displays a small image on a video chat screen with a chat message, such as a KakaoTalk emoticons and a telegram sticker. Dccon Chat can be used by typing specific keywords of each Dccon starting with ~ characters in the chat window like ~hello.

Streamers can always add/remove/modify Dccon, which viewers can use in their broadcasts, so Dccon chat is a good way to show the personality of each broadcast.

How to apply Dccon chat to broadcast

Currently, you can use JSAssist Open DCcon, Bridge BBCC, ChatAssistX-Client which are open source.

For how to apply each program, refer to the program guide.

Why Open Dccon Selector?

Each streamer has a different Dccon for chatting, so each streamer gives viewers a list of Dccons available on their broadcasts on a separate website.

Examples:

However, it is very troublesome to find Dccon on a separate website during the broadcast and use it back to broadcast. (Especially, it is more inconvenient when you are watching the broadcast on full screen.)

So I created an Open Dccon Selector to use Dccon chat quickly without leaving the current viewing screen.

How to apply Open Dccon Selector to broadcasts

First, go to the URL below.

https://dashboard.twitch.tv/extensions/iotylqfktkxdjwyk1gdq2rlc7kw7zo

Click on the 'Install' button in the upper right corner and click 'Configure' button to set Dccon chat data.

In the extension configuration, enter the URL of your Dccon chat data in the Dccon URL field and click the 'Submit' button.

(Example of Dccon chat data - https://rishubil.github.io/jsassist-open-dccon/static/dccon_list.json)

Now You can go to the "Extensions" section of the Twitch dashboard and activate the Open Dccon Selector.

For more detailed settings, see configuration document.

License

MIT

open-dccon-selector's People

Contributors

dependabot[bot] avatar rishubil avatar

Stargazers

 avatar  avatar

Watchers

 avatar  avatar

open-dccon-selector's Issues

백엔드 재구축

개인 서버만으로 운영하기는 조금 부담스러움(Downtime이 언제든지 발생할 수 있음)

따라서 로드밸런서를 하나 두고, 평소에는 개인 서버에서 운용하다가 문제 발생시에 다른 서버에서 서비스를 제공했으면 좋겠음.

AWS나 Azure, Google Cloud 등을 최소 가격으로 운용할 수 있는 방안을 찾아볼 예정.

올바르지 못한 JWT 사용

채널 정보를 업데이트할 때 사용하는 required_configuration 관련 API에서, JWT에 사용되는 User ID는 스트리머의 ID가 아닌 익스텐션 소유자의 ID입니다.

def put(self, user_id):
def twitch_rc_dccon(dccon_url):
if dccon_url:
update_twitch_rc(decoded_token, ['dcconUrl'])
else:
update_twitch_rc(decoded_token, [])
parser = reqparse.RequestParser()
parser.add_argument('token', type=str, required=True)
parser.add_argument('dccon_url', type=str, required=False)
parser.add_argument('dccon_type', type=str, required=False)
parser.add_argument('is_using_cache', type=int, required=False)
args = parser.parse_args()
token = args['token']
dccon_url = args['dccon_url'] if 'dccon_url' in args else None
dccon_type = args['dccon_type'] if 'dccon_type' in args else None
is_using_cache = parse_bool(args['is_using_cache']) if 'is_using_cache' in args else None
if dccon_type not in Channel.DCCON_TYPES:
abort(400, '{dccon_type} is invalid dccon_type'.format(dccon_type=dccon_type))
decoded_token = decode_twitch_token(token)
broadcaster_user_id = verify_broadcaster(decoded_token)
if user_id != broadcaster_user_id:
abort(400, 'Mismatched user_id')
channel = get_channel_by_user_id(user_id)
old_dccon_url = channel.dccon_url
if dccon_url is not None:
channel.dccon_url = dccon_url
twitch_rc_dccon(dccon_url)
if dccon_type is not None:
channel.dccon_type = dccon_type
if is_using_cache is not None:
channel.is_using_cache = is_using_cache
update_db(cb_rollback=lambda: twitch_rc_dccon(old_dccon_url))
return channel.json(), 200

아래 문서를 참조하여 수정해야 합니다

https://dev.twitch.tv/docs/extensions/building/#signing-the-jwt

Config 페이지 UI 개선

초기 설정이 너무 불친절함
대부분의 설정은 별도의 설명 없이 선택할 수 있도록 하고,
스트리머의 디시콘 URL을 어디서 확인할 수 있는지 가이드가 필요함

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.