diff --git a/.travis.yml b/.travis.yml deleted file mode 100644 index 8b64159c..00000000 --- a/.travis.yml +++ /dev/null @@ -1,20 +0,0 @@ -language: dart -dart: -# - dev - - stable - -script: ./travis.sh - -after_success: - - wget https://raw.githubusercontent.com/DiscordHooks/travis-ci-discord-webhook/master/send.sh - - chmod +x send.sh - - ./send.sh success $WEBHOOK_URL - -after_failure: - - wget https://raw.githubusercontent.com/DiscordHooks/travis-ci-discord-webhook/master/send.sh - - chmod +x send.sh - - ./send.sh failure $WEBHOOK_URL - -cache: - directories: - - $HOME/.pub-cache diff --git a/LICENSE b/LICENSE index 8f3ac491..7d17226e 100644 --- a/LICENSE +++ b/LICENSE @@ -1,7 +1,7 @@ GNU GENERAL PUBLIC LICENSE Version 2, June 1991 - Copyright (C) 2018, Szymon Uglis, Zach Vacura + Copyright (C) 2018-2021, Szymon Uglis, Zach Vacura and contributors Preamble diff --git a/nyxx.commander/CHANGELOG.md b/nyxx.commander/CHANGELOG.md index ba87d55e..2b7400a2 100644 --- a/nyxx.commander/CHANGELOG.md +++ b/nyxx.commander/CHANGELOG.md @@ -1,7 +1,11 @@ -## 1.1.0 -_xx.xx.2020_ +## 2.0.0-rc.2 +_07.04.2020_ + +> **Release Candidate 2 for stable version. Requires dart sdk 2.12** - Support for aliases for Commander (580e55c) +- Fix command aliases (17187c5) @WasserEsser +- Fix command recognition in Commander (7fff136) @WasserEsser ## 1.0.1 _03.09.2020_ diff --git a/nyxx.commander/LICENSE b/nyxx.commander/LICENSE index 8f3ac491..7d17226e 100644 --- a/nyxx.commander/LICENSE +++ b/nyxx.commander/LICENSE @@ -1,7 +1,7 @@ GNU GENERAL PUBLIC LICENSE Version 2, June 1991 - Copyright (C) 2018, Szymon Uglis, Zach Vacura + Copyright (C) 2018-2021, Szymon Uglis, Zach Vacura and contributors Preamble diff --git a/nyxx.commander/analysis_options.yaml b/nyxx.commander/analysis_options.yaml index a7cdb3aa..5f62d384 100644 --- a/nyxx.commander/analysis_options.yaml +++ b/nyxx.commander/analysis_options.yaml @@ -1,10 +1,6 @@ analyzer: - enable-experiment: - - non-nullable strong-mode: implicit-casts: false - exclude: - - example/** linter: rules: - avoid_empty_else diff --git a/nyxx.commander/pubspec.yaml b/nyxx.commander/pubspec.yaml index 50e972ae..2feb2d63 100644 --- a/nyxx.commander/pubspec.yaml +++ b/nyxx.commander/pubspec.yaml @@ -1,5 +1,5 @@ name: nyxx_commander -version: 2.0.0-rc.1 +version: 2.0.0-rc.2 description: A Discord library for Dart. homepage: https://github.com/l7ssha/nyxx repository: https://github.com/l7ssha/nyxx @@ -12,4 +12,4 @@ environment: dependencies: http: "^0.13.1" logging: "^1.0.1" - nyxx: "^2.0.0-rc.1" + nyxx: "2.0.0-rc.1" diff --git a/nyxx.extensions/CHANGELOG.md b/nyxx.extensions/CHANGELOG.md index 332f4658..ee83c11e 100644 --- a/nyxx.extensions/CHANGELOG.md +++ b/nyxx.extensions/CHANGELOG.md @@ -1,3 +1,11 @@ +## 2.0.0-rc.2 +_07.04.2020_ + +> **Release Candidate 2 for stable version. Requires dart sdk 2.12** + + - Added compatifility for nyxx 2.0.0-rc2 + - Implemented mutual guilds extension method (9a8bb35) + ## 1.0.0 _24.08.2020_ @@ -5,9 +13,9 @@ _24.08.2020_ > **`1.0.0` drops support for browser. Nyxx will now run only on VM** -* New emoji module for fetching available emoji info -* Pagination module for created paginated messages -* Scheduler module for invoking repeatable actions -* Additional general utils -* Message resolver module for resolving raw message content into human readable form -* Attachment extensions for vm + - New emoji module for fetching available emoji info + - Pagination module for created paginated messages + - Scheduler module for invoking repeatable actions + - Additional general utils + - Message resolver module for resolving raw message content into human readable form + - Attachment extensions for vm diff --git a/nyxx.extensions/LICENSE b/nyxx.extensions/LICENSE index 8f3ac491..7d17226e 100644 --- a/nyxx.extensions/LICENSE +++ b/nyxx.extensions/LICENSE @@ -1,7 +1,7 @@ GNU GENERAL PUBLIC LICENSE Version 2, June 1991 - Copyright (C) 2018, Szymon Uglis, Zach Vacura + Copyright (C) 2018-2021, Szymon Uglis, Zach Vacura and contributors Preamble diff --git a/nyxx.extensions/analysis_options.yaml b/nyxx.extensions/analysis_options.yaml index c704eb6c..12872525 100644 --- a/nyxx.extensions/analysis_options.yaml +++ b/nyxx.extensions/analysis_options.yaml @@ -1,10 +1,6 @@ analyzer: - enable-experiment: - - non-nullable strong-mode: implicit-casts: false - exclude: - - example/** linter: rules: - avoid_empty_else diff --git a/nyxx.extensions/pubspec.yaml b/nyxx.extensions/pubspec.yaml index dc35515a..68fda545 100644 --- a/nyxx.extensions/pubspec.yaml +++ b/nyxx.extensions/pubspec.yaml @@ -1,5 +1,5 @@ name: nyxx_extensions -version: 2.0.0-rc.1 +version: 2.0.0-rc.2 description: Extensions for Nyxx library homepage: https://github.com/l7ssha/nyxx repository: https://github.com/l7ssha/nyxx @@ -11,4 +11,4 @@ environment: dependencies: http: "^0.13.1" - nyxx: "^2.0.0-rc.1" \ No newline at end of file + nyxx: "2.0.0-rc.2" \ No newline at end of file diff --git a/nyxx.interactions/CHANGELOG.md b/nyxx.interactions/CHANGELOG.md index 7da3419b..46787885 100644 --- a/nyxx.interactions/CHANGELOG.md +++ b/nyxx.interactions/CHANGELOG.md @@ -1,3 +1,12 @@ +## 2.0.0-rc.2 +_07.04.2020_ + +> **Release Candidate 2 for stable version. Requires dart sdk 2.12** + + - Interactions (Slash command) initial implementation (3128388) @HarryET + - Implemented Commander like interface (8fae519) + - Added `subCommand` property to InteractionEvent to ease out recognizing subcommands (5b30b29) + ## 1.1-dev.1 -- Initial version + - Initial version @HarryET diff --git a/nyxx.interactions/LICENSE b/nyxx.interactions/LICENSE index 8f3ac491..7d17226e 100644 --- a/nyxx.interactions/LICENSE +++ b/nyxx.interactions/LICENSE @@ -1,7 +1,7 @@ GNU GENERAL PUBLIC LICENSE Version 2, June 1991 - Copyright (C) 2018, Szymon Uglis, Zach Vacura + Copyright (C) 2018-2021, Szymon Uglis, Zach Vacura and contributors Preamble diff --git a/nyxx.interactions/analysis_options.yaml b/nyxx.interactions/analysis_options.yaml index e0f35047..62303058 100644 --- a/nyxx.interactions/analysis_options.yaml +++ b/nyxx.interactions/analysis_options.yaml @@ -1,10 +1,6 @@ analyzer: - enable-experiment: - - non-nullable strong-mode: implicit-casts: false - exclude: - - example/** linter: rules: - avoid_empty_else diff --git a/nyxx.interactions/pubspec.yaml b/nyxx.interactions/pubspec.yaml index 350406a5..a1482e3c 100644 --- a/nyxx.interactions/pubspec.yaml +++ b/nyxx.interactions/pubspec.yaml @@ -1,5 +1,5 @@ name: nyxx_interactions -version: 2.0.0-rc.1 +version: 2.0.0-rc.2 description: Interactions for Nyxx library homepage: https://github.com/l7ssha/nyxx repository: https://github.com/l7ssha/nyxx @@ -11,4 +11,4 @@ environment: dependencies: logging: "^1.0.1" - nyxx: "2.0.0-rc.1" + nyxx: "2.0.0-rc.2" diff --git a/nyxx/CHANGELOG.md b/nyxx/CHANGELOG.md index 18be2d29..85908a8d 100644 --- a/nyxx/CHANGELOG.md +++ b/nyxx/CHANGELOG.md @@ -1,5 +1,7 @@ -## 1.1.0 -_xx.xx.2020_ +## 2.0.0-rc.2 +_07.04.2020_ + +> **Release Candidate 2 for stable version. Requires dart sdk 2.12** - Removed `w_transport` and replaced it with `http` package for http module and websockets from `dart:io` (18d0163, 5644937, 9b863a4, 06482f9) - Fix replacing embed field. Order of fields is now preserved (f667c2a) @@ -8,7 +10,17 @@ _xx.xx.2020_ - Expose raw api call api (f297cc0) - Add support for gateway transport compression (fd090dd) - Moved to v8 on REST and gateway (423173d) -- Intents value is now required and added to Nyxx constructor (2b3e002) + - Intents value is now required and added to Nyxx constructor (2b3e002) + - Added ability to configure cache (163eca9) + - Implemented stickers (16f2b79) + - Implemented inline replies (e412ec9) + - Added raw shard event stream (627f4a0) + - Fix message reaction events were not triggered when cache misses message (fedbd88) + - New utils related to slash commands (8e46b71) @HarryET + - Fixed bug where message with only files cannot be sent (1092624) + - Fixed setPresence method (fbb9c39) @One-Nub + - Added missing delete() method to IChannel (131ecc0) + - Added support for stage channels ## 1.0.2 _08.09.2020_ diff --git a/nyxx/LICENSE b/nyxx/LICENSE index 8f3ac491..7d17226e 100644 --- a/nyxx/LICENSE +++ b/nyxx/LICENSE @@ -1,7 +1,7 @@ GNU GENERAL PUBLIC LICENSE Version 2, June 1991 - Copyright (C) 2018, Szymon Uglis, Zach Vacura + Copyright (C) 2018-2021, Szymon Uglis, Zach Vacura and contributors Preamble diff --git a/nyxx/analysis_options.yaml b/nyxx/analysis_options.yaml index 7cfb55e8..5f62d384 100644 --- a/nyxx/analysis_options.yaml +++ b/nyxx/analysis_options.yaml @@ -1,6 +1,4 @@ analyzer: - enable-experiment: - - non-nullable strong-mode: implicit-casts: false linter: diff --git a/nyxx/lib/src/core/channel/Channel.dart b/nyxx/lib/src/core/channel/Channel.dart index 11299a35..77938525 100644 --- a/nyxx/lib/src/core/channel/Channel.dart +++ b/nyxx/lib/src/core/channel/Channel.dart @@ -26,6 +26,8 @@ abstract class IChannel extends SnowflakeEntity implements Disposable { return TextGuildChannel._new(client, raw, guildId); case 2: return VoiceGuildChannel._new(client, raw, guildId); + case 13: + return StageVoiceGuildChannel._new(client, raw, guildId); case 4: return CategoryGuildChannel._new(client, raw, guildId); default: diff --git a/nyxx/lib/src/core/channel/guild/GuildChannel.dart b/nyxx/lib/src/core/channel/guild/GuildChannel.dart index f4ce4d49..4791c097 100644 --- a/nyxx/lib/src/core/channel/guild/GuildChannel.dart +++ b/nyxx/lib/src/core/channel/guild/GuildChannel.dart @@ -1,5 +1,6 @@ part of nyxx; +/// Represents channel within [Guild]. Shares logic for both [TextGuildChannel] and [VoiceGuildChannel]. abstract class GuildChannel extends IChannel { /// The channel"s name. late final String name; diff --git a/nyxx/lib/src/core/channel/guild/VoiceChannel.dart b/nyxx/lib/src/core/channel/guild/VoiceChannel.dart index e555da55..d19ffa56 100644 --- a/nyxx/lib/src/core/channel/guild/VoiceChannel.dart +++ b/nyxx/lib/src/core/channel/guild/VoiceChannel.dart @@ -46,3 +46,7 @@ class VoiceGuildChannel extends GuildChannel { } } } + +class StageVoiceGuildChannel extends VoiceGuildChannel { + StageVoiceGuildChannel._new(INyxx client, Map raw, [Snowflake? guildId]) : super._new(client, raw, guildId); +} diff --git a/nyxx/lib/src/core/permissions/Permissions.dart b/nyxx/lib/src/core/permissions/Permissions.dart index b8540c77..96172c33 100644 --- a/nyxx/lib/src/core/permissions/Permissions.dart +++ b/nyxx/lib/src/core/permissions/Permissions.dart @@ -98,6 +98,12 @@ class Permissions implements Convertable { /// Allows for viewing guild insights late final bool viewGuildInsights; + /// Allows members to use slash commands in text channels + late final bool useSlashCommands; + + /// Allows for requesting to speak in stage channels + late final bool requestToSpeak; + /// Makes a [Permissions] object from a raw permission code. Permissions.fromInt(int permissions) { _construct(permissions); @@ -109,6 +115,7 @@ class Permissions implements Convertable { } /// Permissions with max value + @Deprecated("Needs to be updated") Permissions.all() { _construct(PermissionsConstants.allPermissions); } @@ -121,48 +128,85 @@ class Permissions implements Convertable { void _construct(int permissions) { this.raw = permissions; - this.createInstantInvite = PermissionsUtils.isApplied(permissions, PermissionsConstants.createInstantInvite); - this.kickMembers = PermissionsUtils.isApplied(permissions, PermissionsConstants.kickMembers); - this.banMembers = PermissionsUtils.isApplied(permissions, PermissionsConstants.banMembers); - this.administrator = PermissionsUtils.isApplied(permissions, PermissionsConstants.administrator); - this.manageChannels = PermissionsUtils.isApplied(permissions, PermissionsConstants.manageChannels); - this.manageGuild = PermissionsUtils.isApplied(permissions, PermissionsConstants.manageGuild); - this.addReactions = PermissionsUtils.isApplied(permissions, PermissionsConstants.addReactions); - this.viewAuditLog = PermissionsUtils.isApplied(permissions, PermissionsConstants.viewAuditLog); - this.viewChannel = PermissionsUtils.isApplied(permissions, PermissionsConstants.viewChannel); - this.sendMessages = PermissionsUtils.isApplied(permissions, PermissionsConstants.sendMessages); - this.prioritySpeaker = PermissionsUtils.isApplied(permissions, PermissionsConstants.prioritySpeaker); - this.sendTtsMessages = PermissionsUtils.isApplied(permissions, PermissionsConstants.sendTtsMessages); - this.manageMessages = PermissionsUtils.isApplied(permissions, PermissionsConstants.manageMessages); - this.embedLinks = PermissionsUtils.isApplied(permissions, PermissionsConstants.embedLinks); - this.attachFiles = PermissionsUtils.isApplied(permissions, PermissionsConstants.attachFiles); - this.readMessageHistory = PermissionsUtils.isApplied(permissions, PermissionsConstants.readMessageHistory); - this.mentionEveryone = PermissionsUtils.isApplied(permissions, PermissionsConstants.mentionEveryone); - this.useExternalEmojis = PermissionsUtils.isApplied(permissions, PermissionsConstants.externalEmojis); - this.connect = PermissionsUtils.isApplied(permissions, PermissionsConstants.connect); - this.speak = PermissionsUtils.isApplied(permissions, PermissionsConstants.speak); - this.muteMembers = PermissionsUtils.isApplied(permissions, PermissionsConstants.muteMembers); - this.deafenMembers = PermissionsUtils.isApplied(permissions, PermissionsConstants.deafenMembers); - this.moveMembers = PermissionsUtils.isApplied(permissions, PermissionsConstants.moveMembers); - this.useVad = PermissionsUtils.isApplied(permissions, PermissionsConstants.useVad); - this.changeNickname = PermissionsUtils.isApplied(permissions, PermissionsConstants.changeNickname); - this.manageNicknames = PermissionsUtils.isApplied(permissions, PermissionsConstants.manageNicknames); - this.manageRoles = PermissionsUtils.isApplied(permissions, PermissionsConstants.manageRolesOrPermissions); - this.manageWebhooks = PermissionsUtils.isApplied(permissions, PermissionsConstants.manageWebhooks); + this.createInstantInvite = PermissionsUtils.isApplied( + permissions, PermissionsConstants.createInstantInvite); + this.kickMembers = PermissionsUtils.isApplied( + permissions, PermissionsConstants.kickMembers); + this.banMembers = PermissionsUtils.isApplied( + permissions, PermissionsConstants.banMembers); + this.administrator = PermissionsUtils.isApplied( + permissions, PermissionsConstants.administrator); + this.manageChannels = PermissionsUtils.isApplied( + permissions, PermissionsConstants.manageChannels); + this.manageGuild = PermissionsUtils.isApplied( + permissions, PermissionsConstants.manageGuild); + this.addReactions = PermissionsUtils.isApplied( + permissions, PermissionsConstants.addReactions); + this.viewAuditLog = PermissionsUtils.isApplied( + permissions, PermissionsConstants.viewAuditLog); + this.viewChannel = PermissionsUtils.isApplied( + permissions, PermissionsConstants.viewChannel); + this.sendMessages = PermissionsUtils.isApplied( + permissions, PermissionsConstants.sendMessages); + this.prioritySpeaker = PermissionsUtils.isApplied( + permissions, PermissionsConstants.prioritySpeaker); + this.sendTtsMessages = PermissionsUtils.isApplied( + permissions, PermissionsConstants.sendTtsMessages); + this.manageMessages = PermissionsUtils.isApplied( + permissions, PermissionsConstants.manageMessages); + this.embedLinks = PermissionsUtils.isApplied( + permissions, PermissionsConstants.embedLinks); + this.attachFiles = PermissionsUtils.isApplied( + permissions, PermissionsConstants.attachFiles); + this.readMessageHistory = PermissionsUtils.isApplied( + permissions, PermissionsConstants.readMessageHistory); + this.mentionEveryone = PermissionsUtils.isApplied( + permissions, PermissionsConstants.mentionEveryone); + this.useExternalEmojis = PermissionsUtils.isApplied( + permissions, PermissionsConstants.externalEmojis); + this.connect = + PermissionsUtils.isApplied(permissions, PermissionsConstants.connect); + this.speak = + PermissionsUtils.isApplied(permissions, PermissionsConstants.speak); + this.muteMembers = PermissionsUtils.isApplied( + permissions, PermissionsConstants.muteMembers); + this.deafenMembers = PermissionsUtils.isApplied( + permissions, PermissionsConstants.deafenMembers); + this.moveMembers = PermissionsUtils.isApplied( + permissions, PermissionsConstants.moveMembers); + this.useVad = + PermissionsUtils.isApplied(permissions, PermissionsConstants.useVad); + this.changeNickname = PermissionsUtils.isApplied( + permissions, PermissionsConstants.changeNickname); + this.manageNicknames = PermissionsUtils.isApplied( + permissions, PermissionsConstants.manageNicknames); + this.manageRoles = PermissionsUtils.isApplied( + permissions, PermissionsConstants.manageRolesOrPermissions); + this.manageWebhooks = PermissionsUtils.isApplied( + permissions, PermissionsConstants.manageWebhooks); - this.manageEmojis = PermissionsUtils.isApplied(permissions, PermissionsConstants.manageEmojis); - this.stream = PermissionsUtils.isApplied(permissions, PermissionsConstants.stream); - this.viewGuildInsights = PermissionsUtils.isApplied(permissions, PermissionsConstants.viewGuildInsights); + this.manageEmojis = PermissionsUtils.isApplied( + permissions, PermissionsConstants.manageEmojis); + this.stream = + PermissionsUtils.isApplied(permissions, PermissionsConstants.stream); + this.viewGuildInsights = PermissionsUtils.isApplied( + permissions, PermissionsConstants.viewGuildInsights); + + this.useSlashCommands = PermissionsUtils.isApplied( + permissions, PermissionsConstants.useSlashCommands); + this.requestToSpeak = PermissionsUtils.isApplied( + permissions, PermissionsConstants.useSlashCommands); } /// Returns true if this permissions has [permission] - bool hasPermission(int permission) => PermissionsUtils.isApplied(this.raw, permission); + bool hasPermission(int permission) => + PermissionsUtils.isApplied(this.raw, permission); @override int get hashCode => raw.hashCode; @override - bool operator ==(other) { + bool operator ==(dynamic other) { if (other is Permissions) return other.raw == this.raw; if (other is int) return other == this.raw; diff --git a/nyxx/lib/src/core/permissions/PermissionsConstants.dart b/nyxx/lib/src/core/permissions/PermissionsConstants.dart index 4ad020d9..5aa01e8c 100644 --- a/nyxx/lib/src/core/permissions/PermissionsConstants.dart +++ b/nyxx/lib/src/core/permissions/PermissionsConstants.dart @@ -95,6 +95,13 @@ class PermissionsConstants { /// Allows for viewing guild insights static const int viewGuildInsights = 1 << 19; + /// Allows members to use slash commands in text channels + static const int useSlashCommands = 1 << 31; + + /// Allows for requesting to speak in stage channels + static const int requestToSpeak = 1 << 32; + /// All of the permissions + @Deprecated("Needs to be updated") static const int allPermissions = 0x7FFFFFFF; } diff --git a/nyxx/lib/src/core/voice/VoiceState.dart b/nyxx/lib/src/core/voice/VoiceState.dart index 7e4ec7ea..8b3e68f0 100644 --- a/nyxx/lib/src/core/voice/VoiceState.dart +++ b/nyxx/lib/src/core/voice/VoiceState.dart @@ -33,6 +33,9 @@ class VoiceState { /// Whether this user's camera is enabled late final bool selfVideo; + /// The time at which the user requested to speak + late final DateTime? requestToSpeakTimeStamp; + VoiceState._new(INyxx client, Map raw) { if (raw["channel_id"] != null) { this.channel = _ChannelCacheable(client, Snowflake(raw["channel_id"])); @@ -47,6 +50,10 @@ class VoiceState { this.selfStream = raw["self_stream"] as bool? ?? false; this.selfVideo = raw["self_video"] as bool; + this.requestToSpeakTimeStamp = raw["request_to_speak_timestamp"] == null + ? null + : DateTime.parse(raw["request_to_speak_timestamp"] as String); + this.suppress = raw["suppress"] as bool; this.sessionId = raw["session_id"] as String; diff --git a/nyxx/lib/src/internal/_Constants.dart b/nyxx/lib/src/internal/_Constants.dart index dd3667a9..4dadf67d 100644 --- a/nyxx/lib/src/internal/_Constants.dart +++ b/nyxx/lib/src/internal/_Constants.dart @@ -29,7 +29,7 @@ class Constants { static const String baseUri = "/api/v8"; /// Version of Nyxx - static const String version = "2.0.0-rc.1"; + static const String version = "2.0.0-rc.2"; /// Url to Nyxx repo static const String repoUrl = "https://github.com/l7ssha/nyxx"; diff --git a/nyxx/pubspec.yaml b/nyxx/pubspec.yaml index cb11592c..cd3d5508 100644 --- a/nyxx/pubspec.yaml +++ b/nyxx/pubspec.yaml @@ -1,5 +1,5 @@ name: nyxx -version: 2.0.0-rc.1 +version: 2.0.0-rc.2 description: A Discord library for Dart. homepage: https://github.com/l7ssha/nyxx repository: https://github.com/l7ssha/nyxx diff --git a/nyxx/test/travis.dart b/nyxx/test/travis.dart index 33eeb6b2..0b584415 100644 --- a/nyxx/test/travis.dart +++ b/nyxx/test/travis.dart @@ -3,15 +3,6 @@ import "dart:io"; import "package:nyxx/nyxx.dart"; -// Replacement for assert. Throws if [test] isn't true. -void test(bool test, [String? name]) { - if (!test) { - throw AssertionError(); - } else { - print("Test ${name != null ? "[$name] " : ""}passed"); - } -} - // Messages content on which we delete message const toDeleteMessageContent = [ "--trigger-test", @@ -23,14 +14,10 @@ const toDeleteMessageContent = [ "Converting successfull" ]; -// ------------------------------------------------------- - EmbedBuilder createTestEmbed() => EmbedBuilder() ..title = "Test title" ..addField(name: "Test field", content: "Test value", inline: true); -// ------------------------------------------------------- - void main() { final env = Platform.environment; final bot = Nyxx(env["TEST_TOKEN"]!, GatewayIntents.guildMessages, ignoreExceptions: false); @@ -51,23 +38,6 @@ void main() { await channel.sendMessage(content: "Testing new local build"); } - print("TESTING CLIENT INTERNALS"); - - final snowflakeA = Snowflake.fromDateTime(DateTime(2017)); - final snowflakeB = Snowflake.fromDateTime(DateTime(2018)); - - test(snowflakeA.timestamp.isBefore(snowflakeB.timestamp), "Snowflake should be before timestamp"); - test(snowflakeB.timestamp.isAfter(snowflakeA.timestamp), "Snowflake should be after timestamp"); - - test(snowflakeA.timestamp.isAtSameMomentAs(DateTime(2017)), "Snowflake should repsresent proper date"); - test(snowflakeB.timestamp.isAtSameMomentAs(DateTime(2018)), "Snowflake should repsresent proper date"); - - // test(bot.channels.count > 0, "Channel count shouldn't be less or equal zero"); - // test(bot.users.count > 0, "Users coutn count should n't be less or equal zero"); - test(bot.shards == 1, "Shard count should be one"); - test(bot.ready, "Bot should be ready"); - //test(bot.inviteLink != null, "Bot's invite link shouldn't be null"); - print("TESTING BASIC FUNCTIONALITY!"); final m = await channel.sendMessage(content: "Message test."); await m.edit(content: "Edit test.");