diff --git a/src/main/java/com/annimon/ffmpegbot/MainBotHandler.java b/src/main/java/com/annimon/ffmpegbot/MainBotHandler.java index baa9283..6bd03da 100644 --- a/src/main/java/com/annimon/ffmpegbot/MainBotHandler.java +++ b/src/main/java/com/annimon/ffmpegbot/MainBotHandler.java @@ -41,7 +41,7 @@ public class MainBotHandler extends BotHandler { commands.registerBundle(new InputParametersBundle(sessions)); commands.registerBundle(new YtDlpCommandBundle(sessions)); commands.registerBundle(new AdminCommandBundle(sessions)); - commands.register(new HelpCommand()); + commands.register(new HelpCommand(permissions)); } @Override diff --git a/src/main/java/com/annimon/ffmpegbot/commands/HelpCommand.java b/src/main/java/com/annimon/ffmpegbot/commands/HelpCommand.java index 9b53410..a47c842 100644 --- a/src/main/java/com/annimon/ffmpegbot/commands/HelpCommand.java +++ b/src/main/java/com/annimon/ffmpegbot/commands/HelpCommand.java @@ -1,5 +1,6 @@ package com.annimon.ffmpegbot.commands; +import com.annimon.ffmpegbot.Permissions; import com.annimon.tgbotsmodule.commands.TextCommand; import com.annimon.tgbotsmodule.commands.authority.For; import com.annimon.tgbotsmodule.commands.context.MessageContext; @@ -9,6 +10,11 @@ import java.util.EnumSet; import java.util.Set; public class HelpCommand implements TextCommand { + private final Permissions permissions; + + public HelpCommand(Permissions permissions) { + this.permissions = permissions; + } @Override public String command() { @@ -28,8 +34,17 @@ public class HelpCommand implements TextCommand { @Override public void accept(@NotNull MessageContext ctx) { + boolean hasRights = permissions.hasRights(ctx.sender, ctx.update(), ctx.user(), EnumSet.of(For.USER)); + String rightsText = ""; + if (!hasRights) { + rightsText = """ + Note: You are not in the list of allowed users. + This bot is for personal use only, consider setting up your own instance: + https://github.com/aNNiMON/ffmpegbot + """.stripIndent() + "\n\n"; + } ctx.replyToMessage(""" - Media processing + %sMedia processing Send any media to start processing. Input parameters (in reply to media processing message) @@ -41,6 +56,6 @@ public class HelpCommand implements TextCommand { /dl link [format] — download a media using yt-dlp link — a link to download (it must be supported by yt-dlp) format — (optional) a download format. Can be "best", "audio", "240", "360", "480", "720" or "1080" - """.stripIndent()).enableHtml().callAsync(ctx.sender); + """.stripIndent().formatted(rightsText)).enableHtml().disableWebPagePreview().callAsync(ctx.sender); } }