# MCG Streamer GUI

## For twitch registration for use with this plugin please visit :

{% content-ref url="/pages/-MeV-7tXsMuGuGbQbE\_B" %}
[Twitch app setup](/mcg-streamer-gui/twitch-tokens-client-data.md)
{% endcontent-ref %}

{% content-ref url="/pages/-MgPIDc\_f1wY8xmjN02b" %}
[Subscriber Rewards](/mcg-streamer-gui/subscriber-rewards.md)
{% endcontent-ref %}

{% content-ref url="/pages/-Mgod3zYGglZ\_EiUkSAR" %}
[Channel Points System](/mcg-streamer-gui/channel-points-system.md)
{% endcontent-ref %}

{% content-ref url="/pages/AOC7PqGeu7Pbdsdf8z1W" %}
[Placeholders](/mcg-streamer-gui/placeholders.md)
{% endcontent-ref %}

## Permission Nodes:

For the management gui and channelpoints management you need : **MCGSR.admin**\
for  Streamers to use Drops : **streamer.drops**\
For streamers to bypass the cooldown on broadcasts: **streamer.bypassbroadcast**

## Placeholders:

The following placeholders can be used in coupon commands:

* {player} < name of the user
* {coupon} < name of the used coupon
* {random16} < random number between 0 and 16
* {random32} < random number between 0 and 32
* {random64} < random number between 0 and 64

A extra placeholder is there for ChannelPointRewards

* {custominput} < the custom message written by the reward claiming viewer

And the {player} is replaced by {channel}\
&#x20;For the Go online Go Offline commands system

<br>

## Commands:

| Command                                                               | Information                                                                                                                                                           |
| --------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| /streamergui                                                          | shows help on how to use the command                                                                                                                                  |
| /streamergui manager                                                  | opens the management GUI                                                                                                                                              |
| /streamergui control                                                  | opens the streamer GUI (you must be added as streamer)                                                                                                                |
| /streamergui list                                                     | Shows all live streamers                                                                                                                                              |
| /claimreward                                                          | Shows help for the claim command                                                                                                                                      |
| /claimreward \[product/coupon] \[code]                                | Claims the code for the given coupon                                                                                                                                  |
| /linktwitch \[twitchnick]                                             | <p>Links the user to a twitch nick<br>(\*only one link for each user only 1 link for each twitch nick)</p><p>NOTE there is no validation if thats their nickname.</p> |
| /streamergui apply                                                    | If enabled checks if u are linked with twitch and checks if u are able to get a rank for the followers you have                                                       |
| /streamergui checkplayer \[name]                                      | Check the provided players followercount if he ever applied otherwise returns nothing found                                                                           |
| /streamergui ChannelPoints \[streamer] \[add/remove/info] \[rewardid] | Adds removes or shows info for RewardID in the channel points system for the user                                                                                     |
| /sgui linktwitch                                                      | As a streamer starts linking your twitch for more features                                                                                                            |

## The config:

```yaml
warnstreamerifempty: true #Warn the streamer his streamerdrops is empty on join
forcefield: #forcefields push players away when enabled from the streamer
  strength: 2 #The force! that players get shot and pushed back the higher the stronger keep a eye out to high is killing players
  enabled : false
  color:  #the color of the particles
    r: 0
    g: 255
    b: 286
gooffline: #runs command when streamer goes offline
  enabled: false
  commands: "say {channel} just gone offline!|giveall apple {random32}"
goonline: #runs command when streamer goes live
  enabled: false
  commands: "say {channel} just gone live!|giveall apple {random32}"
MCGSubscriberlink: #Subscriber actions
  enabled: false #enable or disable subscriber system
  tier1: 
    enabled: true #enable tier 1
    actions: #commands to run on trigger
    - "CMD#say hey thanks for the tier1 subscription {player} !"
    - "WHITELIST#player"
  tier2:
    enabled: true
    actions:
    - "CMD#say hey thanks for the tier2 subscription {player} !"
    - "WHITELIST#player"
  tier3:
    enabled: true
    actions:
    - "CMD#say hey thanks for the tier3 subscription {player} !"
    - "WHITELIST#player"
  prime: #the subscription when using prime free sub
    enabled: true
    actions:
    - "CMD#say hey thanks for the PRIME subscription {player} !"
    - "WHITELIST#player"
  unsub: #when someone unsubscribes or sub ends
    enabled: true
    actions:
    - "CMD#say hey thanks for the tier1 unsub {player} !"
    - "BLACKLIST#player"
    - "UNSUBKICK#player"
discordHook:
  webhook: "" #channel hook for notifications
  botname: "MCG Streamer Notifier"
  boticonurl: "" #the avatar from the bot
  livechatfeedhook: "" #channel hook for live chat
  uselivechatfeed: true #Send the stream chat to discord
  useTTS: true #Speak out loud whats send
  enabletagging: true #enable group tagging
  taggroup: streamnotifier #Group to tag in the message
  color: #message color discord
    r: 0
    g: 0
    b: 255
  notifications: #Enable notifications on discord for the following events
    follow: true
    subscribe: true
    hypetrain: true
    raids: true
    livechat: true
    donation: true
    status: true
    bits: true
    cheers: true
style: #alter the looks of chat messages
  nopermissions: "#DE0000"
  streamernamecolor: "#007EDE"
  generalinfocolor: "#2FA5FF"
  commandcolor: "#287DBD"
  commandinfocolor: "#60A5DA"
  commandargumentcolor: "#4F86AF"
  linkcolor: "#0FC7C8"
  completedcolor: "#0FC860"
  failedcolor: "#C83A0F"
  rewardcolor: "#BEC80F"
  livemessage: #alter the looks of the live message
    prefix: "----"
    suffix: "----"
    header: "Currently Live!"
skins: #alter the looks of public gui's
  channel: http://textures.minecraft.net/texture/66f012b95a955c927ab7ebeb766b62d2ac11cc90b1414637290c2b47ec1a970d
  broadcast: http://textures.minecraft.net/texture/a1304d0e2719f26af78e97b2504d40862c06b355e890e4545a82e08e6a3e4ff0
  delete: http://textures.minecraft.net/texture/21bb8bb7cbd4614f8ec9a2748b1d3f1eb9250dc7b7ef317e31ccc798246ce5ec
  streamerdrops: http://textures.minecraft.net/texture/bae5b90c10692e11fd10dc3d5aac6d232b3b3e41bae2520be9bcf94a36138cf1
  close: http://textures.minecraft.net/texture/f57faf143df2978c7baa80c205d16e872e5c31e6ddbde4ace489fd2775781869
  togglechat: http://textures.minecraft.net/texture/7f9a224c4b5fd65e49b9b061f7653556087d35856ae4258a4dc96a46ff38b326
  togglefollows: http://textures.minecraft.net/texture/bf06fdfb50043d5e47806b826f01f9d83b770da0f89b0d812714e2b15dfd7ea5
  togglesubscribe: http://textures.minecraft.net/texture/76df46d2107b45bbde2908862167d3214c030c719d167d6f7fedab2dba3d17f1
  togglehypetrains: http://textures.minecraft.net/texture/31e6940e3ed52eae038a526ca91bf59c05fe11ff14afd2d7e50bca9b69fe7993
  toggledonations: http://textures.minecraft.net/texture/1a868ca3a93681a05c08de55174f9c2749c3df2ebcf2871d493de433424b912
  togglebits: http://textures.minecraft.net/texture/7bf49f4e0bc03e6ea0de217b861268ff2e466bc30d7288779bdad76005066362
  togglecheers: http://textures.minecraft.net/texture/3d75cf9a46b93c000f0f4479a28f78eb20139cd1a38ccd311da924cbd69adfb
  toggleraids: http://textures.minecraft.net/texture/1e4e30e885abdfdd4c1656b7eaa45e67960acd5429e9ce99baa39070eafed8e5
  togglebroadcast: http://textures.minecraft.net/texture/56b6dc0db9ddd270b2a47850e3aafe75f8b492a33d80b77fd00c7d1bde35efa4
  forcefields: http://textures.minecraft.net/texture/844296e2c4366bbe6114347e963f2a8f2ef74186695804767843eef7d7171282
twitch:
  oauthtokenIRC: TOKEN # Deprecated can be removed from v4 and up
  clientID: YOUR_CLIENT_ID # both come from the twitch dev 
  clientPW: YOUR_CLIENT_SECRET # both come from the twitch dev 
  debug: true
  secondsHB: 900 # the run for drops and other stuff DO NOT LOWER! (lowering hits the limit fast and the plugin will stop working until the cooldown ended)
  listeners: # listen  to these events.
    follow: true
    subscribe: true
    hypetrain: true
    raids: true
    livechat: true
    donation: true
    statusbroadcast: true
    moderationfeed: false
    bits: true
    cheers: true
    channelpoints: true
  autorank:
    ranks: # the ranks u can get with followercount
      streamer: 1000
      prostreamer: 5000
    removeranksondelete: # if the streamer is deleted remove these ranks
      - streamer
      - prostreamer
    enabled: false # enable the use of autoranking 
  rewardsystem:
    rankup:
      enabled: true # enable a player being rewarded on rankup
      commands: "broadcast {player} has become a streamer!|give {player} feather {random64}"
    Bits: # Event based rewards for bits can specify a range or value using -100 or -100-200
      enabled: true
      commands: "broadcast {player} has given bits!|give {player} apple {random64}"
    Bits-100:
      enabled: true
      commands: "broadcast {player} has given 100 bits!|give {player} apple {random64}"
    Bits-240-300:
      enabled: true
      commands: "broadcast {player} has given between 240 and 300 bits!|give {player} apple {random64}"
    Bits-500:
      enabled: true
      commands: "broadcast {player} has given 500 bits!|give {player} apple {random64}"
    CheerBomb:
      enabled: true
      commands: "broadcast {player} has Triggered a CheerBomB!|give {player} apple {random64}"
    Donate:
      enabled: true
      commands: "broadcast {player} has Donated!|give {player} apple {random64}"
    Follow:
      enabled: true
      commands: "broadcast {player} has followed!|give {player} apple {random16}"
    Subscribe:
      enabled: true
      commands: "broadcast {player} has Subscribed!|give {player} apple {random32}"
    ReSubscribe:
      enabled: true
      commands: "broadcast {player} has Re-Subscribed!|give {player} apple {random16}"
    Raid:
      enabled: true
      commands: "broadcast {player} has Raided the stream!|give {player} apple {random16}"
Streamerdrops:
  survivalbased: false # if the drops are survival based (e.g. the streamer must provide its own rewards)
  enabled: true # are drops enabled at all??
  Onlyone: true # if a player is watching multiple streamers should he get 1 or multiple rewards
  Drops:
  - APPLE:5
  - OAK_LOG:2
  - GOLD_INGOT:3
  - GOLD_NUGGET:10
  - IRON_INGOT:2
  - STEAK:3
  - EGG:8
  - SNOW_BALL:16
  - DIRT:5
  - STONE:4
  - DIORITE:8
  - ANDESITE:8
  - GRANITE:8
  - WHEAT:8
  - SEEDS:8
  - MELON_BLOCK:1
  - GOLDEN_APPLE:1
  - OAK_SAPLING:1
```


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://docs.mcgsoft.eu/mcg-streamer-gui.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
