Giter VIP home page Giter VIP logo

harmony's People

Contributors

6days9weeks avatar akiacode avatar almeidx avatar ayntee avatar blocksnmore avatar cubedhuang avatar djdeveloperr avatar eliasstar avatar financenoob avatar fishuke avatar grian32 avatar helloyunho avatar howtodosetmyusername avatar invalidcards avatar kiki7000 avatar mabi19 avatar mierenmanz avatar minibox24 avatar minseo0388 avatar mostprodev avatar nebulatgs avatar netux avatar noamboy2006 avatar nyxoy44 avatar oq-x avatar tejas1707 avatar tendto avatar tildezero avatar underc avatar ziomaleq avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

harmony's Issues

TODO: Simplify Intents

Intents are kind of messed up for beginners, we need to mention a large Array of these, as of the test/index,ts, for a bot with both intents enabled:

client.connect(TOKEN, [
  GatewayIntents.GUILD_MEMBERS,
  GatewayIntents.GUILD_PRESENCES,
  GatewayIntents.GUILD_MESSAGES,
  GatewayIntents.DIRECT_MESSAGES,
  GatewayIntents.DIRECT_MESSAGE_REACTIONS,
  GatewayIntents.DIRECT_MESSAGE_TYPING,
  GatewayIntents.GUILDS,
  GatewayIntents.GUILD_BANS,
  GatewayIntents.GUILD_EMOJIS,
  GatewayIntents.GUILD_INTEGRATIONS,
  GatewayIntents.GUILD_INVITES,
  GatewayIntents.GUILD_MESSAGE_REACTIONS,
  GatewayIntents.GUILD_MESSAGE_TYPING,
  GatewayIntents.GUILD_VOICE_STATES,
  GatewayIntents.GUILD_WEBHOOKS
])

This can be simplified by making some class with static properties like, Intents.All, Intents.Presence, Intents.ServerMembers, would be a lot helpful.
...and I'll look into doing this with my next PR 😄 If I'm wrong, please correct me.

[Feature Request] Custom context

What do you want to request?
before executing the command user can add custom methods

Do you have anything to tell us about your request?

execute(ctx: MyCustomContext) {
  ctx.message.reply(`you have ${ctx.coin}coin`)
}

like this

[Feature Request] Add argument parser for commands

What do you want to request?
Add arguments and a parser for them so that it will be easier to parse more complex arguments
in the way that akairo can do it.

I have made a small working version on a project already and I'm fine with implementing it

[Bug] Message.addReaction() crashes.

What's the bug?
Message.addReaction() crashes with of http error 411 when sending an emoji.

How do we reproduce it?
use Message.addReaction("flushed") (same if you specify ":᠎flushed:").

What should have happened?
Instead of sending a reaction to the message, the it crashes deno completely.

What is actually happening?

PUT https://discord.com/api/v9/channels/*number*/messages/*another number*/reactions/flushed/@me returned 411
(unknown) undefined
      throw new DiscordAPIError({
            ^
    at BucketHandler.execute (https://deno.land/x/[email protected]/src/rest/bucket.ts:217:13)
    at async BucketHandler.push (https://deno.land/x/[email protected]/src/rest/bucket.ts:51:14)
    at async RESTManager.make (https://deno.land/x/[email protected]/src/rest/manager.ts:236:12)
    at async RESTManager.put (https://deno.land/x/[email protected]/src/rest/manager.ts:339:12)
    at async GuildTextChannel.addReaction (https://deno.land/x/[email protected]/src/structures/textChannel.ts:90:5)

What versions you're using?

  • OS: Arch Linux (btw)
  • Deno: 1.13.0
  • Harmony: 2.0.0

Do you have anything to tell us more about the bug?
Mozilla docs say 411 means Length Required. I'm 90% sure i'm using the method right because this is a http error, not a TS or Deno error.

[Feature Request] Argument parser improvements

What do you want to request?
A few improvements with the arg parser:

  • Parses users into User objects, roles into Role objects etc
  • Also handles names, could return false if theres roles/users/channels with the same name so the bot dev can accurately send out an error message.

[Bug] ctx.guild is undefined in the commandOwnerOnly event inside an extension

What's the bug?
If you have the commandOwnerOnly event inside of an extension using decorators the ctx.guild field will be undefined

How do we reproduce it?
Code used to reproduce this bug
Comment out either line 32-34 or line 37, then run !test inside of a server and see what console logged

What should have happened?
ctx.guild should have returned the guild object in both cases

What is actually happening?
ctx.guild returns undefined inside of an extension and the guild object in the listener

What versions you're using?

  • OS: Windows 10 Home Build 19042.1110
  • Deno: Deno 1.12.2 (release, x86_64-pc-windows-msvc)
  • Harmony: Harmony 2.0.0

Do you have anything to tell us more about the bug?
No

[Bug] Guild not populated in message payload of messageDelete event

What's the bug?
Message#guild is not populated if the source of the message is the payload of a messageDelete event even if the deleted message comes from a guild. Message#guildID is populated however.

How do we reproduce it?

  1. Create a messageDelete event handler
  2. console.log both the message's guildID and guild
  3. Run the bot, create a message in a guild text channel that it can see, and delete it

What should have happened?
Both the guildID and the guild properties of the message should not be undefined.

What is actually happening?
guildID is properly filled, but guild is undefined.

What versions you're using?

  • OS: Windows 10 Home, version 20H2, build 19042.1052
  • Deno: Deno 1.11.0
  • Harmony: Main branch

[Feature Request] Add Unit Tests

What do you want to request?
Adding unit tests

Do you have anything to tell us about your request?
Currently, harmony doesn't have any unit tests, which can make tests so much better and reliable.

[Bug] messageUpdate event does not contain member

What's the bug?
In the event messageUpdate, if you grab the guild from newMessage, it will return null.

How do we reproduce it?

  1. if (!msg.member) return; in messageUpdate. Will return when msg is newMessage.

What should have happened?
The member object would be returned.

What is actually happening?
We gain the ever growing collectors item called 'null'.
image

What versions you're using?

  • OS: Arch x86_64
  • Deno: 1.11.3
  • Harmony: 2.0.0rc3

using the main branch

[Feature Request] Add try/catch for `execute`, `beforeExecute` & `afterExecute` methods.

What do you want to request?
Add a try/catch to these methods because it's really annoying to get your bot down when you do something wrong, or having an error but because you didn't put try/catch, nothing is sent in the console.

Do you have anything to tell us about your request?
Almost every command handler does this!
You could also add an error method in the command class (I think that it's weird to use the client to catch these).

[Question] Some questions about voice features

What question do you have?

How can I record voice of everyone on the voice channel? Is this functionality implemented or do I need to wait for implementation? And Harmony already supports audio libraries to make a music bot?

Thank you

Export Interfaces for docs

Many class's constructors have Interfaces as parameters but since the Interface is not exported from mod.ts so they don't appear in the docs..
If someone, who is new to the library, will check the docs then he will go hella confused because we have many of these un-exported interfaces
Like this one class:
image

Support for installing from nest.land

What do you want to request?
The ability to install from nest would be nice as alternative along side being able to install from /x/ and the GitHub repository itself.

Do you have anything to tell us about your request?
Nest provides a block-chain backed immutable registry for deno modules, adding support for it is as simple as creating an account and using their cli to link an api key and initialize a package file which contains information specifically for their registry and nothing else. An example of the package file it uses can be seen here on a package I'm working on currently that is using harmony itself as well.

[Request] Add More Examples

What do you want to request?
Adding more examples

Do you have any solutions?
If you have, please tell us so we can add(or at least think about) your solution!

Since we have lots of bot codes in test/, we might just need to change some and put them into the example.

Do you have anything to tell us about your request?
Right now harmony is getting known to many peoples and some junior coders can be confused if there are not enough examples.

TODO: ENDPOINT

AUDIT LOG

  • Get Guild Audit Log

CHANNEL

  • Get Channel
  • Modify Channel
  • Delete/Close Channel
  • Get Channel Messages
  • Get Channel Message
  • Create Message
  • Channel CrossPost
  • Create Reaction
  • Delete Own Reaction
  • Delete User Reaction
  • Get Reactions
  • Delete All Reactions
  • Delete All Reactions for Emoji
  • Edit Message
  • Delete Message
  • Bulk Delete Messages
  • Edit Channel Permissions
  • Get Channel Invites
  • Create Channel Invite
  • Delete Channel Permission
  • Follow News Channel
  • Trigger Typing Indicator
  • Get Pinned Messages
  • Add Pinned Channel Message
  • Delete Pinned Channel Message
  • Group DM Add Recipient

EMOJI

  • List Guild Emojis
  • Get Guild Emoji
  • Create Guild Emoji
  • Modify Guild Emoji
  • Delete Guild Emoji

GUILD

  • Create Guild
  • Get Guild
  • Get Guild Preview
  • Modify Guild
  • Delete Guild
  • Get Guild Channels
  • Create Guild Channel
  • Modify Guild Channel Positions
  • Get Guild Member
  • List Guild Members
  • Add Guild Member
  • Modify Guild Member
  • Modify Current User Nick
  • Add Guild Member Role
  • Remove Guild Member Role
  • Remove Guild Member
  • Get Guild Bans
  • Get Guild Ban
  • Create Guild Ban
  • Remove Guild Ban
  • Get Guild Roles
  • Create Guild Role
  • Modify Guild Role Positions
  • Modify Guild Role
  • Delete Guild Role
  • Get Guild Prune Count
  • Begin Guild Prune
  • Get Guild Voice Regions
  • Get Guild Invites
  • Get Guild Integrations
  • Create Guild Integration
  • Modify Guild Integration
  • Delete Guild Integration
  • Sync Guild Integration
  • Get Guild Widget Settings
  • Modify Guild Widget
  • Get Guild Widget
  • Get Guild Vanity URL
  • Get Guild Widget Image

INVITE

  • Get Invite
  • Delete Invite

TEMPLATE

  • Get Template
  • Create Guild from Template

USER

  • Get Current User
  • Get User
  • Modify Current User
  • Get Current User Guilds
  • Leave Guild
  • Get User DMs
  • Create DM
  • Create Group DM
  • Get User Connections

VOICE

  • List Voice Regions

WEBHOOK

  • Create Webhook
  • Get Channel Webhooks
  • Get Guild Webhooks
  • Get Webhook
  • Get Webhook with Token
  • Modify Webhook
  • Modify Webhook with Token
  • Delete Webhook
  • Delete Webhook with Token
  • Execute Webhook
  • Execute Slack-Compatible Webhook
  • Execute GitHub-Compatible Webhook

CDN

  • Custom Emoji
  • Guild Icon
  • Guild Splash
  • Guild Discovery Splash
  • Guild Banner
  • Default User Avatar
  • User Avatar
  • Application Icon
  • Application Asset
  • Achievement Icon
  • Team Icon

ETC

GATEWAY

  • Get Gateway
  • Get Gateway Bot

[Feature Request] Implement User and Message context commands

What do you want to request?
Wake up fam new Discord features dropped

Docs:

Do you have any solutions?
Required changes:

  • Add type parameter to InteractionApplicationCommandData with enum of types
    • 1 = slash command
    • 2 = user command
    • 3 = message command
  • Add some way to register context commands - main change from "normal" slash commands is that context commands can only have a name, description and options are not allowed
  • All other aspects should be the same. resolved is used for this as well. options will always be an empty array.

Do you have anything to tell us about your request?
go go power rangers

TODO: Fully integrate Discord API

License Inquiries

Currently, Harmony's license is an MIT license and copyright holder is Helloyunho.

But harmony-org owns the repository.

Therefore, how about putting the copyright holder under the harmony-org?

[Feature Request] Pins

What do you want to request?
There is currently no way to retrieve the pins from a channel. The endpoints are implemented, but are not being used anywhere in the codebase.

Do you have any solutions?
Implement a fetchPins() function on the TextChannel class that allows fetching pins. I believe all text channels (including threads) allow pins, so this should be the correct place to implement them centrally.

Do you have anything to tell us about your request?
Not really, though I find it hard to believe that pins aren't currently accessible anywhere in the library...

[Question] How to delete all slash commands from the bot?

What question do you have?
I'm following the example slash.ts and I'm curious how do I delete all the slash commands of the bot?

message.guild?.commands.bulkEdit([{
            name: 'ping',
            description: "It's literally ping command. What did you expect?",
            options: [{
                name: 'pingarg',
                description: 'Again literally pingArg',
                required: false,
                type: SlashCommandOptionType.STRING
            }]
        }])

It seems there is a bulkEdit() method, is there a bulkDelete()?

[Feature Request] Advanced class customization

What do you want to request?
I would like to customize the classes in my CustomClient.

class CustomGuildManager extends GuildManager<GuildPayload, CustomGuild> {
  // ...
}

class CustomClient extends Client<CustomEvent> {
  guilds: CustomGuildManager = new CustomGuildManager(this);
  // ...
}

Do you have any solutions?
Use Generic Type on classes to "BaseManager" or "HarmonyEventEmitter" for the client.

// On generic: "extends" or "="
export class GuildManager<T = GuildPayload, T2 = Guild> extends BaseManager<T, T2> {
  // ...
}

Do you have anything to tell us about your request?
I can take care of it, if you approve the request.

[V3] Tracking issue

Harmony v3

Note: every sub module is supposed to have unit tests for everything that is testable on CI.

types

@Helloyunho, @DjDeveloperr

  • Application
  • Audit Log
  • Channel
  • Emoji
  • Guild
  • Guild Scheduled Event
  • Guild Template
  • Invite
  • Stage Instance
  • Sticker
  • User
  • Voice
  • Webhook
  • Gateway

core

@Helloyunho, @DjDeveloperr, @AkiaCode

  • Implement HTTPClient
  • RESTClient (blocked by HTTPClient)
  • GatewayClient
  • ShardedClient (blocked by RESTClient)
  • Implement APIManager (blocked by RESTClient and ShardedClient)

framework

Blocked by Core

ext

  • Implement a Redis Cache Store (blocked by Framework) - v3 will not have custom cache support
  • Implement a Binary Tree Cache Store (blocked by Framework) - @MierenManz - v3 will not have custom cache support
  • More TBD

manual

@ZiomaleQ

  • Write beginners guide
  • Write Examples of common code
  • Write Explanation of harmony
  • More TBD

feature: Cache Adapters

There can be some sort of Cache Adapters which Client can use to handle caching. Those adapters can implement the basic methods we require for caching, like it can be similar to a Map with set, get, delete, and so on. In this way, there can even be persistent caching using something like Redis, just an adapter, which can be a class implementing an interface, will be needed.

[Feature Request] Support static metadata

What do you want to request?
When doing commands like so:

class PingCommand extends Command {
    name = "ping";
}

To allow for name to be static, so it can be accesed using: PingCommand.name.

Do you have anything to tell us about your request?
This is useful in a few cases, in my case I'm trying to automatically generate a help command without making a instance of every command everytime the help command is called.

[Bug/API issue] Missing fields on ThreadChannel objects

What's the bug?
According to the Discord API docs, ThreadChannels should have access to the id of the user who created the thread as the field owner_id (repurposed from group DM channels) along with the slowmode setting of the thread (rate_limit_per_user), however harmony doesn't appear to expose these field in any way and they are not included in the lower-level ThreadChannelPayload interface either.

[V3] Tracking issue

Harmony v3

types

@Helloyunho, @DjDeveloperr

  • Application
  • Audit Log
  • Channel
  • Emoji
  • Guild
  • Guild Template
  • Invite
  • Stage Instance
  • Sticker
  • User
  • Voice
  • Webhook
  • Gateway

core

@Helloyunho, @DjDeveloperr

  • Implement HTTPClient
  • RESTClient (blocked by HTTPClient and types)
  • GatewayClient (blocked by types)
  • ShardedClient (blocked by GatewayClient)
  • Implement APIManager (blocked by RESTClient and ShardedClient)

framework

Blocked by Core

  • Implement Client
  • Implement Cache API
  • Implement Structures
  • Implement Managers
  • Implement Abstracted REST Endpoints
  • Implement Abstracted Gateway Events

ext

  • Implement a Redis Cache Adapter (blocked by Framework)
  • More TBD

manual

  • Write beginners guide
  • Write Examples of common code
  • Write Explanation of harmony
  • More TBD

TODO: Make a Full Featured Gateway

Gateway Commands

  • Identify
  • Resume
  • Heartbeat
  • Request Guild Members
  • Update Voice State
  • Update Status

Gateway Event Handlers

  • Hello
  • Ready
  • Resumed
  • Reconnect
  • Invalid Session
  • Channel Create
  • Channel Update
  • Channel Delete
  • Channel Pins Update
  • Guild Create
  • Guild Update
  • Guild Delete
  • Guild Ban Add
  • Guild Ban Remove
  • Guild Emojis Update
  • Guild Integrations Update
  • Guild Member Add
  • Guild Member Remove
  • Guild Member Update
  • Guild Members Chunk
  • Guild Role Create
  • Guild Role Update
  • Guild Role Delete
  • Invite Create
  • Invite Delete
  • Message Create
  • Message Update
  • Message Delete
  • Message Delete Bulk
  • Message Reaction Add
  • Message Reaction Remove
  • Message Reaction Remove All
  • Message Reaction Remove Emoji
  • Presence Update
  • Typing Start
  • User Update
  • Voice State Update
  • Voice Server Update
  • Webhooks Update

[Question] TS2367 [ERROR] when trying to cache harmony. Am I doing something wrong?

What question do you have?
Why is this error occurring? Have I done something wrong?

/*
deps.ts
*/
import { Client, Message} from 'https://deno.land/x/harmony/mod.ts';

then I run deno cache

error: TS2367 [ERROR]: This condition will always return 'false' since the types 'SlashCommandOptionType' and '0' have no overlap.
      type === 0 || type === 1
      ~~~~~~~~~~
    at https://deno.land/x/[email protected]/src/interactions/slashCommand.ts:117:7

[Bug] Interaction.send() throws if passed a string

How do we reproduce it?

  1. Create any slash command and add following handler for it:
// SlashCommandHandlerCallback of previously created slash command
async function handle(interaction: SlashCommandInteraction) {
    await interaction.reply("reply")
    interaction.send("followup") // 💀
}
  1. Call slash command from Discord

What should have happened?
A followup message with the string as content should be sent.

What is actually happening?

error: Uncaught (in promise) TypeError: Cannot read property 'components' of undefined
        (option as WebhookMessageOptions).components === undefined
                                          ^
    at SlashCommandInteraction.send (https://raw.githubusercontent.com/harmonyland/harmony/main/src/structures/interactions.ts:314:43)

What versions you're using?

  • OS: Windows
  • Deno: 1.11.0
  • Harmony: Latest on Main

[Bug] Cannot fetch an emoji.

What's the bug?
Hi!
I try to react with an emoji but I get an error that is way too strange to not be a bug.
My code :

[imports]
const WAIT_EMOJI = '813551205283790889';
const LABS_TS = '507389389098188820';

class MyCommand extends Command {
	[...]

	public async execute(ctx: CommandContext): Promise<void> {
		ctx.message.addReaction(await ctx.client.emojis.fetch(LABS_TS, WAIT_EMOJI));
	}
}

The error :

error: Uncaught (in promise) DiscordAPIError: {
  url: "https://discord.com/api/v8/channels/620663106250604546/messages/818225520994549840/reactions/%3Ca:wa...",
  status: 400,
  method: "PUT",
  code: 50035,
  message: "Invalid Form Body",
  errors: {
    emoji_id: [
      {
        code: "NUMBER_TYPE_COERCE",
        message: 'Value "813551205283790889>" is not snowflake.'
      }
    ]
  },
  requestData: {
    headers: {
      "User-Agent": "DiscordBot (harmony, https://github.com/harmony-org/harmony)",
      Authorization: "Bot ODAxOTc0NTIxMTMzMjY5MDUz.YAoe-Q.is9H6QQgGmxMIyBdS3YB5PWCTF8"
    },
    body: undefined,
    method: "PUT"
  }
}
      reject(new DiscordAPIError(Deno.inspect(error), error))
             ^
    at RESTManager.handleStatusCode (https://deno.land/x/[email protected]/src/models/rest.ts:500:14)
    at Object.onComplete (https://deno.land/x/[email protected]/src/models/rest.ts:577:22)
    at async https://deno.land/x/[email protected]/src/models/rest.ts:249:30

Process finished with exit code 1

What should have happened?
Fetch the emoji and react with it.

What is actually happening?
Crash because it searched the emoji with the ID + >, and the link strangely finish with <a:wa, but the emoji is <a:wait:813551205283790889>.

What versions you're using?

  • OS: Windows 10 (21H1 Bêta, version 19043.844)
  • Deno: Deno 1.8.0
  • Harmony: Latest (1.1.2)

Do you have anything to tell us more about the bug?
This should be better documented, with typedoc for example.

TODO: GATEWAY COMMANDS & EVENTS

GATEWAY COMMANDS

  • Identify
  • Resume
  • Heartbeat
  • Request Guild Members
  • Update Voice State
  • Update Status

GATEWAY EVAENTS

  • Hello
  • Ready
  • Resumed
  • Reconnect
  • Invalid Session
  • Channel Create
  • Channel Update
  • Channel Delete
  • Channel Pins Update
  • Guild Create
  • Guild Update
  • Guild Delete
  • Guild Ban Add
  • Guild Ban Remove
  • Guild Emojis Update
  • Guild Integrations Update
  • Guild Member Add
  • Guild Member Remove
  • Guild Member Update
  • Guild Members Chunk
  • Guild Role Create
  • Guild Role Update
  • Guild Role Delete
  • Invite Create
  • Invite Delete
  • Message Create
  • Message Update
  • Message Delete
  • Message Delete Bulk
  • Message Reaction Add
  • Message Reaction Remove
  • Message Reaction Remove All
  • Message Reaction Remove Emoji
  • Presence Update
  • Typing Start
  • User Update
  • Voice State Update
  • Voice Server Update
  • Webhooks Update

Reference

https://discord.com/developers/docs/topics/gateway#commands-and-events-gateway-events

[Bug] messageUpdate event has no guild

What's the bug?
In the event messageUpdate, if you grab the guild from newMessage, it will return null.

How do we reproduce it?

  1. if (!msg.guild) return; in messageUpdate. Will return when msg is newMessage.
  2. if (!msg.guildID) return; in messageUpdate. WIll not return when msg is newMessage.

What should have happened?
The guild object would be returned.

What is actually happening?
We gain the ever growing collectors item called 'null'.

What versions you're using?

  • OS: Arch x86_64
  • Deno: 1.11.3
  • Harmony: 2.0.0rc3

[Bug] Incorrect handling of GET endpoints

What's the bug?
When requesting GET API endpoints, Harmony tries to send the parameters in the body, but GET requests can't have a body.

How do we reproduce it?
For example, this error occurs when trying to fetch messages of a text channel (calling fetchMessages on a TextChannel)

What should have happened?
Instead of trying to send a GET request with a body, GET parameters should be used.

What versions you're using?

  • OS: Funtoo Linux
  • Deno: 1.10.2
  • Harmony: v2.0.0-rc1

Do you have anything to tell us more about the bug?
Relevant stacktrace:

error: Uncaught (in promise) TypeError: HEAD and GET requests may not have a body.
        throw new HTTPError(
              ^
    at BucketHandler.execute (https://deno.land/x/[email protected]/src/rest/bucket.ts:133:15)
    at async BucketHandler.execute (https://deno.land/x/[email protected]/src/rest/bucket.ts:143:14)
    at async BucketHandler.push (https://deno.land/x/[email protected]/src/rest/bucket.ts:51:14)
    at async RESTManager.make (https://deno.land/x/[email protected]/src/rest/manager.ts:236:12)
    at async RESTManager.get (https://deno.land/x/[email protected]/src/rest/manager.ts:259:12)
    at async Proxy.<anonymous> (https://deno.land/x/[email protected]/src/rest/manager.ts:47:11)
    at async GuildTextChannel.fetchMessages (https://deno.land/x/[email protected]/src/structures/textChannel.ts:141:19)

TypeError: Cannot read property 'remaining' of undefined

I get this error when trying the ping-example:

$ deno run --allow-net ping.ts 
harmony - ping example
Input Bot Token: <token removed by hand>
Input Intents (0 = All, 1 = Presence, 2 = Server Members, 3 = None): 0
error: Uncaught (in promise) TypeError: Cannot read property 'remaining' of undefined
      if (info.session_start_limit.remaining === 0)
                                   ^
    at Gateway.sendIdentify (index.ts:198:36)
    at async Gateway.onmessage (index.ts:88:11)

I am not sure, if I do something wrong but it looks like the error is not on my side.

[Feature Request] Add listener loader

What do you want to request?
Like commands, allow for dynamic loading of listeners
The implementation should be doable enough and it could possibly re-use code

Do you have anything to tell us about your request?
I can implement it after I finished up with #134

[Bug] Exported structures and types from deploy.ts file are missing in the source

What's the bug?
Few types and structures exported from deploy.ts are missing from the actual source.

How do we reproduce it?

import * as slash from "https://raw.githubusercontent.com/harmonyland/harmony/main/deploy.ts";
deno cache --unstable file.ts

What is actually happening?

Download https://raw.githubusercontent.com/harmonyland/harmony/main/src/types/messageComponents.ts
Download https://raw.githubusercontent.com/harmonyland/harmony/main/src/structures/messageComponents.ts
error: Import 'https://raw.githubusercontent.com/harmonyland/harmony/main/src/types/messageComponents.ts' failed: 404 Not Found
    at https://raw.githubusercontent.com/harmonyland/harmony/main/deploy.ts:149:0

[Feature Request] onMissingArgs handler in Command

What do you want to request?

A onMissingArgs(ctx: CommandContext) function in Command when using CommandClient, this would be equivalent to client.on("commandMissingArgs", (ctx: CommandContext) => {})

Do you have anything to tell us about your request?

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.