From aa3b01ea5e7073cc73dc4a1ee5dee2eb09086d18 Mon Sep 17 00:00:00 2001 From: aNNiMON Date: Wed, 18 Oct 2023 21:26:22 +0300 Subject: [PATCH] Upgrade dependencies --- build.gradle | 6 +++--- gradle/wrapper/gradle-wrapper.properties | 2 +- .../com/annimon/ffmpegbot/MainBotHandler.java | 18 +++--------------- .../com/annimon/ffmpegbot/Permissions.java | 13 ++++++++++++- 4 files changed, 19 insertions(+), 20 deletions(-) diff --git a/build.gradle b/build.gradle index 53c4fd9..60e6580 100644 --- a/build.gradle +++ b/build.gradle @@ -1,5 +1,5 @@ plugins { - id 'com.github.johnrengelman.shadow' version '7.0.0' + id 'com.github.johnrengelman.shadow' version '8.1.1' id 'java' id 'application' } @@ -21,8 +21,8 @@ repositories { } dependencies { - implementation 'com.annimon:tgbots-module:6.3.1' - implementation 'org.slf4j:slf4j-simple:2.0.5' + implementation 'com.annimon:tgbots-module:6.5.1' + implementation 'org.slf4j:slf4j-simple:2.0.9' } test { diff --git a/gradle/wrapper/gradle-wrapper.properties b/gradle/wrapper/gradle-wrapper.properties index 070cb70..15de902 100644 --- a/gradle/wrapper/gradle-wrapper.properties +++ b/gradle/wrapper/gradle-wrapper.properties @@ -1,5 +1,5 @@ distributionBase=GRADLE_USER_HOME distributionPath=wrapper/dists -distributionUrl=https\://services.gradle.org/distributions/gradle-7.6-bin.zip +distributionUrl=https\://services.gradle.org/distributions/gradle-8.2-bin.zip zipStoreBase=GRADLE_USER_HOME zipStorePath=wrapper/dists diff --git a/src/main/java/com/annimon/ffmpegbot/MainBotHandler.java b/src/main/java/com/annimon/ffmpegbot/MainBotHandler.java index 302d01e..fa427a3 100644 --- a/src/main/java/com/annimon/ffmpegbot/MainBotHandler.java +++ b/src/main/java/com/annimon/ffmpegbot/MainBotHandler.java @@ -15,11 +15,8 @@ import com.annimon.tgbotsmodule.commands.authority.For; import org.jetbrains.annotations.NotNull; import org.telegram.telegrambots.meta.api.methods.BotApiMethod; import org.telegram.telegrambots.meta.api.objects.Update; -import org.telegram.telegrambots.meta.api.objects.User; import org.telegram.telegrambots.meta.exceptions.TelegramApiException; -import java.util.EnumSet; - public class MainBotHandler extends BotHandler { private final BotConfig botConfig; private final Permissions permissions; @@ -27,9 +24,10 @@ public class MainBotHandler extends BotHandler { private final MediaProcessingBundle mediaProcessingBundle; public MainBotHandler(BotConfig botConfig) { + super(botConfig.botToken()); this.botConfig = botConfig; permissions = new Permissions(botConfig.superUsers(), botConfig.allowedUsers()); - commands = new CommandRegistry<>(this, this::checkAccess); + commands = new CommandRegistry<>(botConfig.botUsername(), permissions); final var sessions = new Sessions(); final var fallbackFileDownloader = new FallbackFileDownloader( new TelegramFileDownloader(), @@ -48,7 +46,7 @@ public class MainBotHandler extends BotHandler { @Override protected BotApiMethod onUpdate(@NotNull Update update) { - if (commands.handleUpdate(update)) { + if (commands.handleUpdate(this, update)) { return null; } if (update.hasMessage() && permissions.isUserAllowed(update.getMessage().getFrom().getId())) { @@ -62,16 +60,6 @@ public class MainBotHandler extends BotHandler { return botConfig.botUsername(); } - @Override - public String getBotToken() { - return botConfig.botToken(); - } - - private boolean checkAccess(Update update, @NotNull User user, @NotNull EnumSet roles) { - final long userId = user.getId(); - return permissions.hasAccess(userId, roles); - } - @Override public void handleTelegramApiException(TelegramApiException ex) { throw new TelegramRuntimeException(ex); diff --git a/src/main/java/com/annimon/ffmpegbot/Permissions.java b/src/main/java/com/annimon/ffmpegbot/Permissions.java index 957570a..027e150 100644 --- a/src/main/java/com/annimon/ffmpegbot/Permissions.java +++ b/src/main/java/com/annimon/ffmpegbot/Permissions.java @@ -1,15 +1,26 @@ package com.annimon.ffmpegbot; +import com.annimon.tgbotsmodule.commands.authority.Authority; import com.annimon.tgbotsmodule.commands.authority.For; +import com.annimon.tgbotsmodule.services.CommonAbsSender; import org.jetbrains.annotations.NotNull; +import org.telegram.telegrambots.meta.api.objects.Update; +import org.telegram.telegrambots.meta.api.objects.User; import java.util.EnumSet; import java.util.Set; -public record Permissions(Set superUsers, Set allowedUsers) { +public record Permissions(Set superUsers, Set allowedUsers) implements Authority { public static final EnumSet SUPERUSERS = EnumSet.of(For.CREATOR); public static final EnumSet ALLOWED_USERS = EnumSet.of(For.CREATOR, For.ADMIN); + @Override + public boolean hasRights(@NotNull CommonAbsSender sender, @NotNull Update update, + @NotNull User user, @NotNull EnumSet roles) { + final long userId = user.getId(); + return hasAccess(userId, roles); + } + boolean hasAccess(long userId, @NotNull EnumSet roles) { if (roles.contains(For.CREATOR) && superUsers().contains(userId)) return true;