Date: 2019/04/02 14:58:19 UTC-07:00
Type: Denizen Script
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
# ███████████████████████████████████████████████████████████
# ██ [ dDiscord Chat Relay ] ██
# ██ [ ] ██
# ██ [ This script contains MCL compatibility; ] ██
# ██ [ to take full advantage of some neat ] ██
# ██ [ features, consider also importing the ] ██
# ██ [ Message Constructor Library! ] ██
# ██ [ ] ██
# ██ [ The config for this file should be ] ██
# ██ [ SEPARATE from this script; you do ] ██
# ██ [ NOT want to keep your bot token in ram, ] ██
# ██ [ keep it separate. Anyone with your ] ██
# ██ [ token has full access to your bot. ] ██
# ██ [ ] ██
# ██ [ Step one: Create a discord bot. If you ] ██
# ██ [ need further instructions, you should ] ██
# ██ [ seek a guide online. ] ██
# ██ [ ] ██
# ██ [ You need to obtain # ID's: ] ██
# ██ [ * Your Bot Token. Can be obtained here: ] ██
# ██ [ https://discordapp.com/developers/applications/ ] ██
# ██ [ * Your Discord Channel ID's. ] ██
# ██ [ Right click the channel > Copy ID ] ██
# ██ [ ] ██
# ██ [ Create a directory in your denizen folder: ] ██
# ██ [ * /plugins/denizen/Data/ ] ██
# ██ [ ] ██
# ██ [ Create the external file inside: ] ██
# ██ [ * Discord_Chat_Relay_Config.yml ] ██
# ██ [ ] ██
# ██ [ Paste the bot's information ] ██
# ██ [ ] ██
# ███████████████████████████████████████████████████████████
# ███ [ Discord chat format ] ███
DiscordRelayChatFormat:
type: format
debug: false
format: "<&2><&l>[<&r><&a>Discord<&4><&l>]<&r><&f><text>"
# ███ [ DiscordBot | Discord Control ] ███
Discord_Relay_Chat_Handler:
type: world
debug: False
events:
# ███ [ Server Startup ] ███
on server start:
- wait 10s
- run Discord_Chat_Relay_Config instantly "context:-a"
- wait 1s
- discord id:discord_chat_relay message channel:<server.flag[discord.mainchat]> "<&co>white_check_mark<&co> **Server has started**"
# ███ [ Ingame Chat Relay ] ███
on player chats:
- discord id:discord_chat_relay channel:<server.flag[discord.mainchat]> message "**<player.groups.get[1]>** <player.name.display.strip_color>: <context.message.strip_color>"
# ███ [ Discord Chat Relay ] ███
on discord message received for:discord_chat_relay:
- if <context.channel> == <server.flag[discord.mainchat]> && <context.message> != "" && <context.author_id> != <context.self>:
- announce format:DiscordRelayChatFormat " | <context.author_name><&3><&l>]<&r> <&8>»<&f> <context.message.parse_color>"
# ███ [ Discord Player Events ] ███
on player first logs in:
- discord id:discord_chat_relay message channel:<server.flag[discord.mainchat]> "<&co>confetti_ball<&co> **<player.name> has logged in for the first time. Welcome them!** <&co>confetti_ball<&co>"
on player joins:
- discord id:discord_chat_relay message channel:<server.flag[discord.mainchat]> "<&co>heavy_plus_sign<&co> **<player.name.display.strip_color> has logged in.**"
on player quits:
- discord id:discord_chat_relay message channel:<server.flag[discord.mainchat]> "<&co>heavy_multiplication_x<&co> **<player.name.display.strip_color> has left the server.**"
on player dies:
- discord id:discord_chat_relay message channel:<server.flag[discord.mainchat]> "<&co>skull<&co> **<context.message>**"
on shutdown:
- discord id:discord_chat_relay message channel:<server.flag[discord.mainchat]> "<&co>octagonal_sign<&co> **Server is restarting - Please wait**"
- flag server discord.botstatus:!
# ███ [ Discord Player Events | Addons ] ███
on votifier vote:
- discord id:discord_chat_relay message channel:<server.flag[discord.mainchat]> "<&co>diamond_shape_with_a_dot_inside<&co> **<context.username>** voted!"
# ███ [ Discord Channel Command/Update ] ███
Discord_Link_And_Configuration_Command:
type: command
name: discord
debug: false
description: Sends you the discord join link
permission: discord.command
permission message: "<proc[msgHover].context[<&c>You do not have permission.|<script.yaml_key[permission]>]||<&c>You do not have permission.>"
usage: /discord
advanced usage: "<proc[msgHint].context[<&6>/discord|discord|<&a>Click to enter Link command]||<&6>/discord>"
aliases:
- disc
syntax message:
- if <player.is_op>:
- define mh2 "<proc[msgHint].context[(<&e>reload<&6>)|discord reload|<&a>Click to enter Reload command]||(<&e>reload<&6>)>"
- define mh3 "<proc[msgHint].context[(<&e>-a<&6>)|discord reload -a|<&a>Click to enter Reload All command]||(<&e>-a<&6>)> <&pipe> <&f><parse:<script.yaml_key[description]>>"
- narrate format:DiscordRelayChatFormat "<&e>Syntax<&co> <parse:<script.yaml_key[advanced usage]>> <def[mh2]> <def[mh3]> as well as reloads the discord configuration, optionally including the discord bot token."
- else:
- narrate format:DiscordRelayChatFormat "<&e>Syntax<&co> <parse:<script.yaml_key[advanced usage]>> <&pipe> <&f><script.yaml_key[description]>."
script:
- if <context.args.size> == 0 || <context.args.get[1]||null> == "link":
- narrate format:DiscordRelayChatFormat "Discord Link<&co> <&e><proc[msgUrl].context[Click Here for Link|<server.flag[discord.link]>|<&a><server.flag[discord.link]>]||<server.flag[discord.link]>>"
- queue clear
- else if <context.args.size.is[MORE].than[1]> && <player.is_op.not>:
- inject locally "syntax message" instantly
- queue clear
- else if <context.args.get[2]||null> == "-a" || <context.args.get[2]||null> == "null":
- if <context.args.get[1]> == "reload":
- run Discord_Chat_Relay_Config instantly context:<context.args.get[2]||null>
- queue clear
- inject locally "syntax message" instantly
- queue clear
- else:
- inject locallly "syntax message" instantly
# ███ [ DiscordBot | Configuration ] ███
Discord_Chat_Relay_Config:
type: task
debug: false
definitions: Arg2
script:
- yaml load:data/Discord_Chat_Relay_Config.yml id:discord_chat_relay_temp
- flag server discord.key:loaded
- if <def[Arg2]> == "-a":
- if <server.flag[discord.botstatus]> == "running":
- flag server discord.botstatus:!
- discord id:discord_chat_relay disconnect
- discord id:discord_chat_relay connect code:<yaml[discord_chat_relay_temp].read[bots.discord.botToken]>
- flag server discord.botstatus:running
- flag server discord.link:<yaml[discord_chat_relay_temp].read[bots.discord.discordlink]>
- flag server discord.mainchat:!
- flag server discord.mainchat:<yaml[discord_chat_relay_temp].read[bots.discord.channel.mainchat]>
- yaml unload id:discord_chat_relay_temp
- flag server discord.key:!