mirror of
https://github.com/Luzifer/twitch-bot.git
synced 2024-09-20 02:22:55 +00:00
160 lines
4.4 KiB
Markdown
160 lines
4.4 KiB
Markdown
---
|
|
title: "Rule Examples"
|
|
---
|
|
|
|
## Chat-addable generic text-respond-commands
|
|
|
|
```yaml
|
|
- uuid: 688e631f-08a8-5544-b4b2-1737ea71ce00
|
|
description: Trigger Generic Command
|
|
actions:
|
|
- type: respond
|
|
attributes:
|
|
message: '{{ variable (list "genericcmd" .channel (group 1) | join ":") }}'
|
|
cooldown: 1m0s
|
|
match_channels:
|
|
- '#luziferus'
|
|
- '#tezrian'
|
|
match_message: '^!([^\s]+)(?: |$)'
|
|
disable_on_template: '{{ eq (variable (list "genericcmd" .channel (group 1) | join ":")) "" }}'
|
|
|
|
- uuid: ba4f7bb3-af39-5c57-bb97-216a8af69246
|
|
description: Set Generic Command
|
|
actions:
|
|
- type: setvariable
|
|
attributes:
|
|
set: '{{ group 2 }}'
|
|
variable: '{{ list "genericcmd" .channel (group 1) | join ":" }}'
|
|
- type: respond
|
|
attributes:
|
|
message: '[Admin] Set command !{{ group 1 }} to "{{ group 2 }}"'
|
|
match_channels:
|
|
- '#luziferus'
|
|
- '#tezrian'
|
|
match_message: ^!setcmd ([^\s]+) (.*)
|
|
enable_on:
|
|
- broadcaster
|
|
- moderator
|
|
|
|
- uuid: 21619e80-2c6a-536e-8b83-e5fe6c580356
|
|
description: Clear Generic Command
|
|
actions:
|
|
- type: setvariable
|
|
attributes:
|
|
clear: true
|
|
variable: '{{ list "genericcmd" .channel (group 1) | join ":" }}'
|
|
- type: respond
|
|
attributes:
|
|
message: '[Admin] Deleted command !{{ group 1 }}'
|
|
match_channels:
|
|
- '#luziferus'
|
|
- '#tezrian'
|
|
match_message: ^!clearcmd ([^\s]+)
|
|
enable_on:
|
|
- broadcaster
|
|
- moderator
|
|
```
|
|
|
|
## Game death counter with dynamic name
|
|
|
|
```yaml
|
|
- actions:
|
|
- type: counter
|
|
attributes:
|
|
counter: '{{ channelCounter (recentGame .channel) }}'
|
|
- type: respond
|
|
attributes:
|
|
message: >-
|
|
I already died {{ counterValue (channelCounter (recentGame .channel)) }}
|
|
times in {{ recentGame .channel }}'
|
|
cooldown: 60s
|
|
enable_on: [broadcaster, moderator]
|
|
match_channels: ['#mychannel']
|
|
match_message: '^!death'
|
|
```
|
|
|
|
## Notify Discord when stream is live
|
|
|
|
```yaml
|
|
- actions:
|
|
- type: discordhook
|
|
attributes:
|
|
add_embed: true
|
|
avatar_url: '{{ profileImage .channel }}'
|
|
content: |
|
|
<@&123456789012345678> {{ displayName (fixUsername .channel) (fixUsername .channel) }}
|
|
is now live on https://www.twitch.tv/{{ fixUsername .channel }} - join us!
|
|
embed_author_icon_url: '{{ profileImage .channel }}'
|
|
embed_author_name: '{{ displayName (fixUsername .channel) (fixUsername .channel) }}'
|
|
embed_fields: |
|
|
{{
|
|
toJson (
|
|
list
|
|
(dict
|
|
"name" "Game"
|
|
"value" (recentGame .channel))
|
|
)
|
|
}}
|
|
embed_image: https://static-cdn.jtvnw.net/previews-ttv/live_user_{{ fixUsername .channel }}-1280x720.jpg
|
|
embed_thumbnail: '{{ profileImage .channel }}'
|
|
embed_title: '{{ recentTitle .channel }}'
|
|
embed_url: https://twitch.tv/{{ fixUsername .channel }}
|
|
hook_url: https://discord.com/api/webhooks/[...]/[...]
|
|
username: 'Stream-Live: {{ displayName (fixUsername .channel) (fixUsername .channel) }}'
|
|
match_event: stream_online
|
|
```
|
|
|
|
## Post follow date for an user
|
|
|
|
```yaml
|
|
- actions:
|
|
- type: respond
|
|
attributes:
|
|
message: 'You followed on {{ ( followDate .username ( fixUsername .channel ) ).Format "2006-01-02" }}'
|
|
match_channels: ['#mychannel']
|
|
match_message: '^!followage'
|
|
```
|
|
|
|
## Respond to a message after random delay
|
|
|
|
```yaml
|
|
- actions:
|
|
# Respond after 30-40s
|
|
- type: delay
|
|
attributes:
|
|
delay: 30s
|
|
jitter: 10s
|
|
- type: respond
|
|
attributes:
|
|
message: 'Hey {{ .username }}'
|
|
match_channels: ['#mychannel']
|
|
match_message: '^Hi'
|
|
```
|
|
|
|
## Send a notification on successful permit
|
|
|
|
```yaml
|
|
- actions:
|
|
- type: respond
|
|
attributes:
|
|
message: '{{ mention .to }}, you will not get timed out for the next {{ .permitTimeout }} seconds.'
|
|
match_channels: ['#mychannel']
|
|
match_event: 'permit'
|
|
```
|
|
|
|
## Shoutout command with game query
|
|
|
|
```yaml
|
|
- actions:
|
|
- type: respond
|
|
attributes:
|
|
message: >-
|
|
Check out @{{ fixUsername (group 1) }} and leave a follow,
|
|
they were last playing {{ recentGame (fixUsername (group 1)) "something mysterious" }}
|
|
at https://twitch.tv/{{ fixUsername (group 1) }}
|
|
enable_on: [broadcaster, moderator]
|
|
match_channels: ['#mychannel']
|
|
match_message: '^!so ([@\w]+)'
|
|
```
|
|
|