-
-
Notifications
You must be signed in to change notification settings - Fork 49
Revamped Tags and New Slash Commands #354
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
base: master
Are you sure you want to change the base?
Changes from all commits
242978f
aff0035
712296e
e853be8
60e3f14
a18e5c5
a9efebc
e8843a4
9fcdd17
0d3711f
1446d63
a1d5e6e
242098f
1d9da7c
33c0d15
b23813b
0a68feb
cd015b2
235cdef
83f2f19
e5e0b95
d397c8b
a01d137
fb065e0
0934e7f
5495ce8
cc63979
ea553bc
c65a0e1
004aaa0
ce5392f
a370015
368d0ff
687ffd4
3eee4af
f9c1ffd
5db2054
3b14cce
9e25346
50b74bf
6c8b9ec
7ac7237
cd36c12
58b475f
688e1fb
6e8de9e
2ff0287
8b35729
baf381d
c47f854
84f8859
4835097
df3f68c
fe08e96
a724e89
ea7988f
3204a83
f80058b
52b5c6a
b55a971
5709dc3
ef0821f
6c3fba8
9612912
861b437
066d249
5c1926e
4996e37
0fdb467
ccd1dcc
e631a37
fffdb55
be26389
58fbcdf
9af6824
491ece5
c8f4fc3
d501ac0
00d0f7f
8ba8e3e
64cb3c6
f36d2a9
2514ec5
e7f6fcf
bf01381
a69ae02
74ee906
1a17c2b
5968fb6
7a1307d
abd0283
91f24fd
39cf24d
f646bd8
6a89180
1966c9d
3fc3886
537218f
e86a36b
46bafd0
857a001
3ef3c0f
9e2cf96
d93ff06
0ce60b9
1e672ea
59f4fe6
1e92f5f
fbe89c7
7b07f9b
72f4737
e71abae
8e281a5
10c4f83
1c94178
5c8e903
c3868d8
8e3f2e4
ce1dd3b
a6d3633
0427c92
41f3862
0da53b0
00d8c07
3df4728
b47b09b
be677f1
61f65be
01000b2
0c143a0
9c37180
c70fcd5
a7b8d13
0fd6c5f
2afd386
5c16a26
1ba0d91
6e898a8
7225485
c4f06bf
e5fd900
5eafbeb
1ca6f8c
0232a9d
7e1a612
829108e
3051082
1105937
8d6af39
aa30efb
ff110e4
28fd185
699c131
8454c2e
df78332
9ace05d
720501c
f71b32a
df31329
39e1a49
5013784
1b86248
2e49b87
0f2a744
0d29973
9e51f4a
9895f00
df217c8
4500a70
5edcba9
9939abd
6c1b981
9c5d77d
b73a163
f4fc994
2897713
e13ae41
7002e19
de4cdaf
c4d6a96
5474ccd
bebeba8
dbb1be4
cd2ddc0
04e49a0
c531495
12d2216
41c7fd1
66a295b
7989b5e
084a6a3
05f6dfb
ed3387f
bab83d4
0028d30
65503b5
7a44b10
3f98462
05f67df
f427538
a28c3b3
7b46aa6
878da2a
2456bfe
1dade86
e19d68b
100989c
fd0fb38
ec08309
ce9842d
028f245
68a9a67
c9495b0
1f61658
e3f3923
3c8d505
a2b8f53
3959527
2e423f8
af35f15
bd58299
b600a81
e5de489
cb65f7e
dd6651b
60944a0
ffa09a7
d208e34
bc80997
01a683d
1b45655
File filter
Filter by extension
Conversations
Jump to
Diff view
Diff view
There are no files selected for viewing
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -0,0 +1,78 @@ | ||
| /* | ||
| * Copyright (c) 2025 GeyserMC. http://geysermc.org | ||
| * | ||
| * Permission is hereby granted, free of charge, to any person obtaining a copy | ||
| * of this software and associated documentation files (the "Software"), to deal | ||
| * in the Software without restriction, including without limitation the rights | ||
| * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell | ||
| * copies of the Software, and to permit persons to whom the Software is | ||
| * furnished to do so, subject to the following conditions: | ||
| * | ||
| * The above copyright notice and this permission notice shall be included in | ||
| * all copies or substantial portions of the Software. | ||
| * | ||
| * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR | ||
| * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, | ||
| * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE | ||
| * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER | ||
| * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, | ||
| * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN | ||
| * THE SOFTWARE. | ||
| * | ||
| * @author GeyserMC | ||
| * @link https://github.com/GeyserMC/GeyserDiscordBot | ||
| */ | ||
|
|
||
| package org.geysermc.discordbot.commands; | ||
|
|
||
| import com.jagrosh.jdautilities.command.CommandEvent; | ||
| import com.jagrosh.jdautilities.command.SlashCommand; | ||
| import com.jagrosh.jdautilities.command.SlashCommandEvent; | ||
| import net.dv8tion.jda.api.EmbedBuilder; | ||
| import net.dv8tion.jda.api.entities.MessageEmbed; | ||
| import org.geysermc.discordbot.util.BotColors; | ||
| import org.geysermc.discordbot.util.MessageHelper; | ||
| import org.json.JSONObject; | ||
| import pw.chew.chewbotcca.util.RestClient; | ||
|
|
||
| import java.time.Instant; | ||
|
|
||
| public class RoryCommand extends SlashCommand { | ||
| public RoryCommand() { | ||
| this.name = "rory"; | ||
| this.help = "Shows a random rory image from rory.cat"; | ||
| this.aliases = new String[]{ "rory", "car" }; | ||
| this.guildOnly = false; | ||
| } | ||
|
|
||
| @Override | ||
| protected void execute(SlashCommandEvent event) { | ||
| event.deferReply().queue(); | ||
| event.getHook().editOriginalEmbeds(handle()).queue(); | ||
| } | ||
|
|
||
| @Override | ||
| protected void execute(CommandEvent event) { | ||
| event.getMessage().replyEmbeds(handle()).queue(); | ||
| } | ||
|
|
||
| protected MessageEmbed handle() { | ||
| JSONObject result = RestClient.get("https://rory.cat/purr").asJSONObject(); | ||
|
|
||
| if (!result.has("url") || !result.has("id")) { | ||
| return MessageHelper.errorResponse( | ||
| null, | ||
| "Couldn't find a random Rory image!", | ||
| "Unable to fetch a valid image url from rory.cat!" | ||
| ); | ||
| } | ||
|
|
||
| return new EmbedBuilder() | ||
| .setTitle(":cat: Here’s A Random Rory Image:") | ||
| .setImage(result.getString("url")) | ||
| .setFooter("Cat ID: " + result.getInt("id") + " • Powered by rory.cat") | ||
| .setTimestamp(Instant.now()) | ||
| .setColor(BotColors.SUCCESS.getColor()) | ||
| .build(); | ||
| } | ||
| } |
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -0,0 +1,68 @@ | ||
| /* | ||
| * Copyright (c) 2025 GeyserMC. http://geysermc.org | ||
| * | ||
| * Permission is hereby granted, free of charge, to any person obtaining a copy | ||
| * of this software and associated documentation files (the "Software"), to deal | ||
| * in the Software without restriction, including without limitation the rights | ||
| * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell | ||
| * copies of the Software, and to permit persons to whom the Software is | ||
| * furnished to do so, subject to the following conditions: | ||
| * | ||
| * The above copyright notice and this permission notice shall be included in | ||
| * all copies or substantial portions of the Software. | ||
| * | ||
| * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR | ||
| * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, | ||
| * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE | ||
| * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER | ||
| * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, | ||
| * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN | ||
| * THE SOFTWARE. | ||
| * | ||
| * @author GeyserMC | ||
| * @link https://github.com/GeyserMC/GeyserDiscordBot | ||
| */ | ||
|
|
||
| package org.geysermc.discordbot.commands; | ||
|
|
||
| import com.jagrosh.jdautilities.command.CommandEvent; | ||
| import com.jagrosh.jdautilities.command.SlashCommand; | ||
| import com.jagrosh.jdautilities.command.SlashCommandEvent; | ||
| import net.dv8tion.jda.api.EmbedBuilder; | ||
| import net.dv8tion.jda.api.entities.MessageEmbed; | ||
| import org.geysermc.discordbot.util.BotColors; | ||
| import org.json.JSONObject; | ||
| import pw.chew.chewbotcca.util.RestClient; | ||
|
|
||
| public class SupportedVersionsCommand extends SlashCommand { | ||
| public SupportedVersionsCommand() { | ||
| this.name = "supportedversions"; | ||
| this.help = "Shows what Minecraft versions Geyser supports"; | ||
| this.aliases = new String[]{ "versions", "supportedversions" }; | ||
| this.guildOnly = false; | ||
| } | ||
|
|
||
| @Override | ||
| protected void execute(SlashCommandEvent event) { | ||
| event.deferReply().queue(); | ||
| event.getHook().editOriginalEmbeds(handle()).queue(); | ||
| } | ||
|
|
||
| @Override | ||
| protected void execute(CommandEvent event) { | ||
| event.getMessage().replyEmbeds(handle()).queue(); | ||
| } | ||
|
|
||
| protected MessageEmbed handle() { | ||
| JSONObject result = RestClient.get("https://raw.githubusercontent.com/GeyserMC/GeyserWebsite/master/src/data/versions.json").asJSONObject(); | ||
|
|
||
| String javaVersion = result.getJSONObject("java").getString("supported"); | ||
| String bedrockVersion = result.getJSONObject("bedrock").getString("supported"); | ||
|
|
||
| return new EmbedBuilder() | ||
| .setTitle(":geyser: Geyser Supported Versions") | ||
| .setDescription("Currently, Geyser supports Minecraft: Bedrock Edition " + bedrockVersion + " and Minecraft: Java Edition " + javaVersion + ".") | ||
| .setColor(BotColors.SUCCESS.getColor()) | ||
| .build(); | ||
| } | ||
| } |
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -1,8 +1,11 @@ | ||
| type: text | ||
| title: :x: Address Already In Use | ||
| issues: Address already in use | ||
| aliases: bind, failedtobind, bindissue, addressalreadyinuse | ||
| color: errors | ||
|
|
||
| --- | ||
|
|
||
| This means something (likely another instance of Geyser) is running on the port you have specified in the config. Please make sure you close all applications running on this port. If you don't recall opening anything, usually restarting your computer fixes this. | ||
| If you are using a server hosting provider and get this error, you likely need to use a specific port allocated to you. See the [setup guide](https://wiki.geysermc.org/geyser/setup/) for instructions on how to configure Geyser. | ||
| The port in your Geyser config is already in use, often by another Geyser instance, query port, or voice chat plugin/mod. | ||
| - If you’re self-hosting, close any applications using that port, or restart your computer if you’re unsure what’s running. | ||
| - If you’re using a hosting provider, use the specific port allocated to you. | ||
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -0,0 +1,11 @@ | ||
| type: text | ||
| aliases: closedchannelexception, closedchannelexc, closedchannel | ||
| title: :x: ClosedChannelException | ||
| issues: ClosedChannelException | ||
| color: errors | ||
|
|
||
| --- | ||
|
|
||
| We require server logs to assist you further. Please follow the instructions below: | ||
| 1. Upload your logs to [mclo.gs](https://mclo.gs/). | ||
| 2. Share the MCLogs link here. |
This file was deleted.
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -1,7 +1,10 @@ | ||
| type: text | ||
| title: :x: Connection Closed | ||
| issues: Connection closed | ||
| color: errors | ||
|
|
||
| --- | ||
|
|
||
| This error is probably caused by a connection error. Upload your logs with http://mclo.gs/ and paste the URL here. | ||
| If you are getting this error on a proxy server such as Velocity or BungeeCord, check your backend server logs for errors. | ||
| We require server logs to assist you further. Please follow the instructions below: | ||
| 1. Upload your logs to [MCLogs](https://mclo.gs/). | ||
| 2. Share the MCLogs link in <#613168464634576897> or <#1038995448100306964>. | ||
|
Comment on lines
1
to
+10
Member
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. Same stuff as above - is there any way we can do this without duplicating tags? |
||
| Original file line number | Diff line number | Diff line change |
|---|---|---|
|
|
@@ -3,4 +3,6 @@ issues: AnnotatedConnectException: Connection timed out | |
|
|
||
| --- | ||
|
|
||
| The Geyser instance cannot connect to your Java server. | ||
| The Geyser instance cannot connect to your Java server. Please follow the instructions below to identify the issue: | ||
| 1. Check if Geyser is using a bedrock port that is properly port forwarded. | ||
|
Member
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. This doesn't sound like the right solution to this issue. |
||
| 2. Check if your Geyser instance has plugin or mod conflicts. Run `!!plugindebugging` for more information. | ||
This file was deleted.
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -1,8 +1,9 @@ | ||
| type: text | ||
| issues: invalid nickname | ||
| title: :x: Illegal Nickname | ||
| issues: illegal nickname || invalid nickname | ||
| aliases: invalidnickname, invalidnick, illegalnick | ||
| color: errors | ||
|
|
||
| --- | ||
|
|
||
| This "error" is caused by a login plugin such as AuthMe which is not supported with Geyser. | ||
|
|
||
| If you are simply just wanting Bedrock players to be able to join your Java server without a Java account, we recommend using our plugin [Floodgate](https://wiki.geysermc.org/floodgate/setup/) which allows them to join the server with it being in online mode. If you did not mean to set your server to offline mode or don't understand what it means, please set your server to online mode to receive support further. | ||
| This error is usually caused by a login plugin, like AuthMe, which Geyser does not support. Since login plugins indicate offline mode, we will not provide Geyser support. Run `!!offline` in <#613194762249437245> for more information. |
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -1,8 +1,14 @@ | ||
| type: text | ||
| title: :x: IP Forwarding Error | ||
| aliases: ipforward | ||
| issues: please enable it in your BungeeCord config as well | ||
| color: errors | ||
|
|
||
| --- | ||
|
|
||
| This error is caused either by BungeeCord/Waterfall not having IP forwarding enabled, or by a Floodgate mismatched key.pem from the proxy to the backend servers. | ||
| This could also be caused by *send-floodgate-data:* being enabled without Floodgate being present on all backend servers. | ||
| For more information on how to setup Floodgate API on proxies; run `!!proxies` in <#613194762249437245> | ||
| This error can be caused by the following: | ||
| - `ip_forward` is not enabled in your BungeeCord proxy `config.yml`. | ||
| - [Player information forwarding](https://docs.papermc.io/velocity/player-information-forwarding/) is not set up on your Velocity proxy. | ||
| - A mismatched Floodgate `key.pem` from the proxy to the backend servers. | ||
| - `send-floodgate-data` is enabled without Floodgate being present on all backend servers. | ||
| For more information on how to setup Floodgate API on proxy servers, run `!!proxies` in <#613194762249437245>. |
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -1,13 +1,14 @@ | ||
| type: text | ||
| title: :x: Login To Xbox | ||
| issues: Please log into Xbox to join this server. | ||
| color: errors | ||
|
|
||
| --- | ||
|
|
||
| This error occurs when Geyser is unable to validate your login. This might be because the client didn't send the right data, or you just aren't logged in. | ||
| You can use the following steps to debug this: | ||
| - Double check you are actually logged in. | ||
| - Restart your game and try again. | ||
| - Try joining a featured server, if you face the same issue then continue through the steps, if you don't, send a dump link (Run `!!dump` in <#613194762249437245> for more information). | ||
| - Log out of your account, then log back in. | ||
| - Restart your device. | ||
| - If the issue still persists, contact Minecraft support. | ||
| This error happens when Geyser can’t validate your login, often due to the client not sending the right data or not being logged in. You can use the instructions below to debug this: | ||
| 1. Double check you are actually logged into Xbox on your Bedrock client. | ||
| 2. Restart your game and try again. | ||
| 3. If you don't face the same issue when joining a featured server, send a Geyser dump link. Run `!!dump` in <#613194762249437245> for more information. | ||
| 4. Log out of your account and then log back in. | ||
| 5. Restart your device. | ||
| 6. If the issue still persists, contact Minecraft support. |
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -0,0 +1,9 @@ | ||
| type: text | ||
| title: :x: Floodgate Key Mismatch | ||
| issues: Please connect through the official Geyser | ||
| aliases: ctog, cttog, connectthroughtheofficialgeyser | ||
| color: errors | ||
|
|
||
| --- | ||
|
|
||
| This error happens when Floodgate's `key.pem` files don’t match between your proxy and backend servers. Ensure every Floodgate config folder has the same `key.pem` file. If issues persist and you’re using an FTP client, try switching to [WinSCP](https://winscp.net/eng/index.php). |
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -0,0 +1,14 @@ | ||
| type: text | ||
| aliases: multiplayerconnectionfailed, mpconnectionfailed, mpconnectfailed, mpconnect, unabletoconnect, unabletoconnecttoworld | ||
| title: :x: Multiplayer Connection Failed | ||
| issues: Multiplayer connection failed || Unable to connect to world | ||
| color: errors | ||
|
|
||
| --- | ||
|
|
||
| This is a network issue usually caused by improper port forwarding. To resolve this error, try the following: | ||
| - If you're using a hosting provider, specific instructions may be available. Try running `/provider` followed by your hosting provider's name in <#613194762249437245>. | ||
| - Follow the instructions listed in `!!networkdebug` if you are self-hosting or your hosting provider is not listed in `/provider`. | ||
| - Follow the instructions listed in `!!playitdebug` if you're using playit.gg for port forwarding. | ||
| - Make sure Geyser is not running on the same port as a voice chat plugin or mod. | ||
| - Check out [our wiki](https://wiki.geysermc.org/geyser/fixing-unable-to-connect-to-world/) for additional fixes for this error. |
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -1,7 +1,8 @@ | ||
| type: text | ||
| title: :x: Java Edition Account required for login | ||
| issues: you need a java edition account to play on this server | ||
| color: errors | ||
|
|
||
| --- | ||
|
|
||
| If you are getting a form with 'You need a Java Edition Account to play on this server' and you do not have a Java account, then you will need to install Floodgate. | ||
| Run !download floodgate in <#613194762249437245> for additional information or see the setup guide: https://wiki.geysermc.org/floodgate/setup/ | ||
| If you are getting a form with "You need a Java Edition account to play on this server", you will either need to link a Java Edition account everytime you join the Geyser instance or install [Floodgate](https://geysermc.org/wiki/floodgate/setup/) which allows Bedrock players without a Minecraft Java Edition account on your Geyser server. |
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -1,6 +1,8 @@ | ||
| type: text | ||
| title: :x: Outdated Bedrock Client | ||
| issues: Outdated Bedrock client | ||
| color: errors | ||
|
|
||
| --- | ||
|
|
||
| Your issue is caused by your Bedrock client being outdated, please update it. | ||
| This error is caused by your Minecraft: Bedrock Edition client being outdated, please update it. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Maybe we can also tell the user here to check if they're running query or voice chat on the same port?