diff --git a/TelegramBots.wiki/abilities/Ability-Extensions.md b/TelegramBots.wiki/abilities/Ability-Extensions.md index 60f5a482..45481632 100644 --- a/TelegramBots.wiki/abilities/Ability-Extensions.md +++ b/TelegramBots.wiki/abilities/Ability-Extensions.md @@ -35,6 +35,20 @@ public class MrBadGuy implements AbilityExtension { return new MrBadGuy(); } + // Override creatorId + } +``` + +It's also possible to add extensions in the constructor by using the `addExtension()` or `addExtensions()` method: + +```java + public class YourAwesomeBot implements AbilityBot { + + public YourAwesomeBot() { + super(/* pass required args ... */); + addExtensions(new MrGoodGuy(), new MrBadGuy()); + } + // Override creatorId } ``` \ No newline at end of file diff --git a/telegrambots-abilities/src/test/java/org/telegram/abilitybots/api/bot/ExtensionTest.java b/telegrambots-abilities/src/test/java/org/telegram/abilitybots/api/bot/ExtensionTest.java index 8be53c13..2593c696 100644 --- a/telegrambots-abilities/src/test/java/org/telegram/abilitybots/api/bot/ExtensionTest.java +++ b/telegrambots-abilities/src/test/java/org/telegram/abilitybots/api/bot/ExtensionTest.java @@ -32,6 +32,7 @@ class ExtensionTest { assertTrue(hasAbilityNamed("direct"), "Failed to find Ability in directly declared in root extension/bot"); assertTrue(hasAbilityNamed("returningSuperClass0abc"), "Failed to find Ability in directly declared in extension returned by method returning the AbilityExtension class"); assertTrue(hasAbilityNamed("returningSubClass0abc"), "Failed to find Ability in directly declared in extension returned by method returning the AbilityExtension subclass"); + assertTrue(hasAbilityNamed("addedInConstructor0abc"), "Failed to find Ability in directly declared in extension added in the constructor"); } private boolean hasAbilityNamed(String name) { @@ -41,6 +42,7 @@ class ExtensionTest { public static class ExtensionUsingBot extends AbilityBot { ExtensionUsingBot() { super("", "", offlineInstance("testing")); + addExtension(new AbilityBotExtension("addedInConstructor")); } @Override