Commit graph

1019 commits

Author SHA1 Message Date
Isabella
ba32eec7e8 feat(Message): add url getter (#2594)
* feat(Message): add jumpToURL getter

* fix url

* url syntax update

* name to url
2018-07-26 04:38:11 +02:00
bdistin
5afd77ab73 refactor: remove user bot methods (#2559)
* [WIP] Remove user bots

* more backend userbot removal

* Add mfaEnabled back

* revert client presences store removal

* partially revert getAuth changes

* remove more no longer used children of ClientUserGuildSettings

* fix a bug with this pr and TextBasedChannel.applyToClass

* remove a syncGuilds reference

* more user bot data handling

* various guildSync cleanup

* bots can't call logout

Had the user/bot portions of the code mixed up. Though, does this need to be a promise anymore?

* make ClientManager#destroy() sync

It nolonger needs to be a promise, and nothing depended on it being a promise that I can tell.

* requested change

* Fix massive error

* no longer used as it's userbot only
2018-07-25 22:14:23 -04:00
Yukine
f963621ef1 fix(GuildEmoji): added a check for managed emojis in fetchAuthor (#2645) 2018-07-25 21:11:38 -04:00
PLASMAchicken
c46cbbfd84 docs: added sizes 16, 32, 64 (#2666)
* documented sizes 16, 32, 64

* Removed space

* Added typedef

* The options to provide => Options for the Image URL

* fixed
2018-07-25 21:04:47 -04:00
Isabella
3a7a7d730b
fix(MessageReaction): only delete reaction if cache and count is empty (#2661) 2018-07-23 16:32:51 -04:00
SpaceEEC
36806612bf
fix(Invite): support for group dm invites (#2603)
* fix(Invite): support group dm invites

* refactor(Invite): mark all optional properties as nullable and default them to null
2018-07-18 11:39:34 +02:00
Kyra
e0378cf350 refactor(Webhook): make token not enumerable (#2566)
* Hide Webhook#token (consistency with Client#token)

* Make `Webhook#token` writable

* fix: devsnek's requested change

Webhook#token must be both writable and configurable.
2018-07-18 11:37:57 +02:00
SpaceEEC
526832058e
fix(Message): keep reply option when using an embed or attachment
See #2651
2018-07-08 21:12:30 +02:00
Souji
95b2dd3fe6 feat: Add support for Guild#setDefaultMessageNotifications (#2624)
* Feat: Guild#setDefaultMessageNotifications

* fix typo
2018-07-01 11:03:47 -05:00
Lewdcario
077d41fbca
fix(Webhook): import Channel correctly 2018-07-01 10:19:44 -05:00
Souji
de408d735b docs(Guild): memberCount is not as of ready (#2621)
but updated every guild member add or remove
2018-06-23 15:22:57 +02:00
Kyra
270a278a6e feat(Guild): add support to edit defaultMessageNotifications level (#2592)
* Added support for `defaultMessageNotifications`

* Requested changes

* docs: Change type for GuildEditData.defaultMessageNotifications
2018-06-19 21:16:05 +02:00
Souji
791f58e130 docs: add video to MessageAttachment properties (#2608) 2018-06-19 20:09:55 +02:00
reeeeeeeeeeeeeeeeeeeeeeeeeeeeeee
e7eab427e5
docs: document lastMessageID for TextChannel and (Group)DMChannel (#2602)
* Adds JSDocs for TextChannel.lastMessageID

* oops

* docs: document lastMessageID in (Group)DMChannel as well
2018-06-16 22:28:12 +02:00
bdistin
037e8cf969 fix(Messages): undeleting themselves (#2570)
when a _patch() is queued
2018-06-16 21:16:57 +02:00
Kyra
e8ab049a67 refactor(MessageMentions): make client, guild, and _content non enumerable 2018-06-16 17:14:10 +02:00
Lewdcario
5eff360a4d
docs: wording improvements 2018-06-11 16:37:34 -05:00
iDroid
bce9a8af1b feat(User): add locale property (#2571) 2018-06-10 10:58:00 -05:00
Lewdcario
5071477172
fix(GuildMember): account for joinedTimestamp as well 2018-06-05 20:14:34 -05:00
Lewdcario
13bfceb83c
fix(GuildMember): mark joined as nullable and fix fetching for these cases 2018-06-05 19:50:36 -05:00
Lewdcario
c8ecbe6585
docs: GuildMember#speaking
and consistency improvements
2018-06-05 00:33:54 -05:00
Lewdcario
dfbd4bdde1
docs: add examples & improve notices 2018-06-05 00:33:43 -05:00
Lewdcario
0be0d2542d
fix(VoiceChannel): deletable erroneously returning true 2018-06-04 17:16:35 -05:00
Lewdcario
46b19bbbdb
fix(GuildMember): Invalid Date 2018-06-04 16:24:42 -05:00
Kyra
d02c303afd fix(Guild): equals method modifying features array of guild (#2544)
* Fixed a bug where Guild#equals would cause the given guild to lose its features

* Fix Util.arraysEqual

* Fixed docs for Util.arraysEqual

* Remove Util.arraysEqual
2018-05-29 11:15:19 +02:00
Kyra
30c7d6d1b1 feat(Guild#defaultMessageNotifications) (#2538)
* feat(Guild#defaultMessageNotifications)

* boolean -> DefaultMessageNotifications

* Space's requested change
2018-05-28 17:44:04 -05:00
Braxton
f0c4d0e834 feat: Add "deleted" property to multiple structures. (#2556)
* Add "deleted" property to "Message" structure

* Add "deleted" property to Multiple structures

Structures edited:
- Channel
- Emoji
- Guild
- Guild Member
- Role

* Update "deletable" getter

* Fix ESLint "no-trailing-spaces" errors

* Requested Change: Mark w/ bulkDelete
2018-05-28 17:42:51 -05:00
Adrien Brignon
27fcb64187 docs(Guild): handle error in example of fetchInvites correctly (#2568) 2018-05-27 20:57:50 +02:00
Dim
5494f8e3bd Fix: Incorrect NSFW Status on Channels (#2499)
* Fix #2498

* wow this code seems familiar

* please be the last iteration
2018-05-27 03:57:33 -05:00
SpaceEEC
6cde6decee
fix(GuildEmoji): verify MANAGE_EMOJIS permission from Guild#me 2018-05-08 11:29:36 +02:00
Kyra
fca6d3be56 feat(GuildEmoji): add deletable getter (#2535)
* feat(GuildEmoji#deletable)

* Update: Discord API returns 50001

When you try to get or delete a managed emoji from the API, you get a 50001 (Missing Access) error code.
2018-05-06 21:12:16 +02:00
SpaceEEC
90312952d9
revert: "Improved TextBasedChannel#send (#2537)"
This reverts commit 556e679bdb,
which broke resolving of non object literal message options.
2018-05-04 16:44:06 +02:00
Kyra
556e679bdb Improved TextBasedChannel#send (#2537) 2018-05-04 14:56:22 +02:00
Will Nelson
32369f3bdd fix: prevent max listener problems with collectors (#2521) 2018-05-04 02:11:52 -05:00
Lewdcario
f293dddc29 fix: Webhook#edit attempting to use client.channels always 2018-05-02 21:19:00 -05:00
Lewdcario
745669a7c9
docs: consistency 2018-04-29 13:28:12 -05:00
Frangu Vlad
5acf4061e8 fix: GuildMember#toJSON not having roles (#2520) 2018-04-29 11:28:45 -05:00
Lewdcario
64caa33594
fix: GuildEmoji#clone 2018-04-25 18:42:51 -05:00
Isabella
8b83553462
refactor: role stores (#2478)
* refactor: reduced duplication in role stores

* fix docs

* fix: typo

* most of requested changes

* rest of changes

* ACTUAL rest of changes

* docs

* doooocs

* reason
2018-04-24 15:52:00 -05:00
Jacz
e12ab7428f fix(MessageEmbed): correct docs, default to array, resolve MessageAttachments (#2492)
* Fix(MessageEmbed): Remove useless for...of & change this.files to be out of the data.files check...

* Requested changes
2018-04-23 19:38:56 +02:00
Lewdcario
b8a9a76cf6
docs: inconsistencies 2018-04-20 21:10:21 -05:00
Lewdcario
ec9211c3ce
docs: inconsistencies 2018-04-18 20:21:17 -05:00
Suvan
2dd7fd2739 docs(GroupDMChannel): fix grammar an user -> a user (#2482) 2018-04-17 18:24:48 +02:00
bdistin
8551b8936c docs: fix a number of spelling mistakes (#2469) 2018-04-13 20:50:47 +02:00
Pascal
b955a514f6
fix(Guild): remove member's voice state on guildMemberRemove
fixes #2430
2018-04-09 17:43:07 +02:00
bdistin
b3ff7c728e feat(Guild): add mfaLevel property (#2451) 2018-04-09 09:56:48 +02:00
Frangu Vlad
f985b6bef3 fix(Role): allow edit method to null the color (#2447) 2018-04-09 09:54:40 +02:00
Amish Shah
ef138fd3e9
voice: fix #2380 (voiceSessionID null after changing server region) 2018-04-07 15:29:38 +01:00
Pascal
e431ccdad2
fix(GuildChannel): always return a boolean from the manageable getter
Overlooked the comment pointing that out in #2439
2018-04-02 20:52:12 +02:00
Favna
ef4bd92c8a feat(GuildChannel): add manageable getter (#2439)
* Adds GuildChannel.manageable

* Resolve requested changes

* fix eslint max-len error

* Fix for nullable permissionsFor()

* Indent fixes
2018-04-02 20:00:47 +02:00
Will Nelson
b5b436f9cb Revert "fix message embed json serialization (#2420)"
This reverts commit c40488eb54.
2018-03-24 18:47:15 -06:00
Will Nelson
c40488eb54 fix message embed json serialization (#2420)
* fix message embed json serialization

remove the toJSON method on message embeds so the raw data is exposed
for JSON seralization. this removes the hexColor property, but it
probably should not have been there in the first place. fixes #2419

* change api transform to tojson
2018-03-24 19:43:56 -05:00
Lewdcario
4e0e64d8a1
fix(MessageReaction): inaccurate count
also works towards async rewrite goal
fixes #2404
2018-03-24 15:22:21 -06:00
Pascal
d041cb2460
fix(GuildEmojiRoleStore): do not prematurely patch roles
Issue is the same as in #2312 and #2381, but for the GuildEmojiRoleStore.
Thanks to @KingDGrizzle for pointing this out.
2018-03-16 20:01:43 +01:00
Pascal
513dbf2f68
fix(MessageReaction): do not increment count twice for own user
Fixes #2389
2018-03-10 14:11:33 +01:00
bdistin
630009f3cf fix: Convert lastMessage to getters (#2384)
* convert lastMessage to getters

* fix bug in pr

* requested changes
2018-03-08 10:19:43 -06:00
bdistin
799eea957e consistency: getters return null instead of undefined (#2385) 2018-03-08 10:15:06 -06:00
Jonah Snider
8b679913a4 docs: Change 'the this' to this (typo) (#2377) 2018-03-04 08:16:12 +00:00
Isabella
0a951cfc0f
docs: TextChannel Webhooks fix&improvement 2018-03-03 18:55:54 -06:00
Isabella
b637c9c220
feat: allow multiple permission overwrites when editing channel (#2370)
* feat: allow multiple permission overwrites when editing channel

* undo Permissions#resolve change
2018-03-03 11:18:58 -06:00
Frangu Vlad
069dccfa3b docs: document the messages property for all TextBasedChannels (#2373)
* Document TextChannel#messages

* Same for DMChannels

* And GroupDMChannels
2018-03-03 11:04:33 +01:00
Will Nelson
cf7dcba1a5 Add toJSON methods (#1859)
* tojson things

* fix client

* ignore private properties

* remove extra property descriptors

* handle primitive flattening

* remove unused import

* add toJSON to collections

* reduce stateful props

* state

* allow custom prop names when flattening

* fix client

* fix build

* fix flatten docs

* remove guild.available, cleanup permissions, remove arbitrary id reduction

* fix util import

* add valueOf as needed, update member props

* fix incorrect merge

* update permissionoverwrites and permissions

remove serialization of permissions in PermissionOverwrites#toJSON.
change Permissions#toJSON to serialize permissions, by default excluding
admin checks.

* change Permissions#toJSON to return the primitive

* Permissions#toJSON explicitly return bitfield
2018-03-01 23:00:21 -06:00
Lewdcario
24571e465b
docs: examples & improvements 2018-03-01 22:50:45 -06:00
Pascal
464fc14edd
fix(Activity): ensure that timestamps are actually numbers
Fixes #2364
Discord sends those timestamps packed as SMALL_BIG_EXT, which get converted to strings in js.
~~Maybe they are already preparing their timestamps for 2038.~~
2018-02-28 09:31:42 +01:00
SpaceEEC
47bc0fc51e
feat(GuildChannel): add fetchInvites method (#2339)
* feat(GuildChannel): add fetchInvites method

* fix: actually use the 'channels' endpoint
2018-02-13 17:29:42 +01:00
Snazzah
43363172c2 docs: Add TypeDef for MessageActivity (#2321) 2018-02-04 20:44:13 +01:00
Frangu Vlad
e0cbf0bb60 feature: add GuildEmoji#fetchAuthor (#2315)
* Make the base code

* Fxi lint
2018-02-02 20:34:21 +01:00
Gus Caplan
bd1bf11ed0 spotify stuff (#2314) 2018-02-02 12:45:18 -06:00
Lewdcario
234648bd2a
fix(ClientApplication): createAsset incorrectly resolving image and posting 2018-02-02 11:41:08 -06:00
SpaceEEC
016526486c enhancement(Activity): add toString method (#2313) 2018-02-01 18:41:05 -06:00
Lasse Niermann
31873eb3a5 docs(ClientUser): mark email field as user account only property (#2306)
* Store Mail - User Account Only

Added that info

* docs(ClientUser): mark email field as nullable
2018-02-01 20:29:20 +01:00
Pascal
32e2dd212e
fix: add clone methods to GuildMember and GuildMemberRoleStore
Fixes #2312
This adds clone method to both classes to achieve the expected behaviour when cloning a GuildMember, also cloning their roles store
2018-01-31 21:04:15 +01:00
Isabella
9810bdbc5f
fix(MessageEmbed): remove length checks (#2304)
* fix(MessageEmbed): remove length checks

* update error messages
2018-01-29 10:56:55 -06:00
Lewdcario
2e0048add1
docs: doc changes 2018-01-27 23:41:25 -06:00
Lewdcario
d93d628f19
make Message#member a getter 2018-01-27 17:04:03 -06:00
Dim
10f98d8e57 use String#padStart for Role#hexColor (#2294) 2018-01-27 07:42:49 +01:00
Frangu Vlad
a832b56469 GuildEmoji: Move all role related functions to a separate store (#2271)
* Prepare to work on moving all role functions to a Store

And yes, this is *another* patch branch cause I messed up my master branch to hell

* Move all emoji role related functions to its own store
Tested everything and it works! (With a reload of the client)
Also had to change a value in DataStore#holds
holds.name for GuildEmojis would return the emoji name instead of the class name

* New Line

* Thanks JS for circular dependency!
Because we can't have nice things...

* Do space's request

* Fix equals

* Fix space's point.

Raw API data has the role property as an array of IDs
2018-01-24 20:47:20 +01:00
Dragon Fire
16b5de5d52 fix(Role) Update usages of highestRole#comparePositionTo to use GuildMemberRoleStore (#2289) 2018-01-24 13:34:11 +01:00
Frangu Vlad
00172e6c7d refactor: Move member role-related functions to a special store (#2242)
* Ignore this I need a patch branch for Git

* Move all member role related stuff to a new DataStore
GuildMemberRoleStore is a new store that holds all member role related stuffs
Because its consistent!

* Minorest doc fix ever
To whoever did this object, they forgot a `{`

* Fix the spacing in the docs

* Resue the stores resolve rather than copy paste
Cause I'm dum and it overwrite resolve to the guild role stores resolve soo

* Fix some requests
- Removed the bs private functions
- Set the roles in the constructor

But, I need feedback. There is no way, that I saw, to make a member have roles whenever GuildMmber#_patch is called,
due to the roles being null on the guild. So the only way might be the for loop and getter.

* Fix an issue that I caused in #add
I was testing some other things, and changed that to test. Forgot to change it back

* Actually make the store generate just once when the member is created by first initializing the roles in the guild
Also replaces GuildMember#_roles with GuildMemberRoleStore#_roles
Tested all functions to make sure the expected result happens.

* I missed this from moving remove from GuildMember to GuildMemberRoleStore

* Fix RoleStore#create docs
For real this time

* Do all the requested changes
- Rename all `somethingRole` to `something` (hoistRole => hoist)
- Refactor add and remove to be cleaner and re-use set

* Fix a bug where the store would loose some roles due to null roles that can throw an error in the for loop after they've been deleted

* Remove the `role.id || role` part of the add and remove functions as Appel suggested

* Replace roles.resolve with roles.resolveID for GuildMemberRoleStore#remove

* Don't use Array.isArray in checks
Use instanceof instead

* Woops, I forgot to change this
Renamed colorRole to color

* The docs have dots, so we place the dots back
2018-01-24 08:12:58 +01:00
Pascal
07c48a6845
fix: require discordjserror to throw meaningful errors where necessary 2018-01-22 20:23:36 +01:00
Pascal
93e083da4f
fix(Guild): memberCount not decrementing when an uncached member leaves
This leads to GuildMemberStore#_fetchMany to always reject
because it expects more member than possible.

Also no longer call the GuildMemberRemove handler locally
to not decrement twice.
2018-01-21 07:30:59 +01:00
Kyra
986e6da196 Fix(GuildChannel#clone) options.parent not accepting (falsy) null. (#2262)
* Fixed (falsy) options not being set correctly

* Requested changes.

As a side note, I also default `options.withPermissions` for simplicity, and because it gets ignored in [`GuildChannelStore#create()`](https://discord.js.org/#/docs/main/master/class/GuildChannelStore?scrollTo=create).

* Fixed the overwrites option
2018-01-20 19:30:30 +01:00
Amish Shah
f588b3fd20
Merge branch 'master' into voice-rewrite 2018-01-20 13:50:34 +00:00
Pascal
fbd25f8677
fix(GuildMember): make edit method only modify a copy of the voice state
This is to fix stale members in voice channels.
2018-01-20 12:44:27 +01:00
Schuyler Cebulskie
f649610c26 Merge branch 'master' into voice-rewrite 2018-01-18 19:49:23 -05:00
SpaceEEC
aa3407f705 Base Emoji class for ReactionEmoji and renamed GuildEmoji classes (#2230)
* feat: create base Emoji class for ReactionEmoji and new GuildEmoji

* rename EmojiStore to GuildEmojiStore to account for the new class' name
2018-01-18 02:38:45 -06:00
bdistin
b846cbd2b3 GuildChannel.permissionsFor(role) (#2254)
* GuildChannel.permissionsFor(role)

* 1Comp's requested changes
2018-01-18 02:28:14 -06:00
Michel Nguyen
19591b0bb1 docs: fix attachFiles() docs (#2267)
* docs change

* fix attachFiles docs

* why was this still here
2018-01-18 07:42:05 +01:00
Amish Shah
b94d60d2ab
Merge branch 'master' into voice-rewrite 2018-01-16 17:24:07 +00:00
Alex
e576387fea Fix ReactionCollector#remove and make Collector interface more consistent (#2221)
* Fix ReactionCollector#remove and make Collector interface more consistent

* Move those below the doc

* Remove object spread

* Only emit event arguments

* Forgot to delete this line

* Update docs

* Also fix this

* More edits to docs

* Snowflake|string
2018-01-16 01:33:58 +01:00
Isabella
36555c1cea refactor(GuildMember#manageable): refactored kickable and bannable (#2211)
* refactor(GuildMember#manageable): merged kickable and bannable code

* hydar suggestion
2018-01-16 01:32:40 +01:00
bdistin
3038d4b2c7 Address missing application docs in setPresence (#2257)
fixes #2103 according to how crawl says it should be fixed in #2104
2018-01-16 01:20:36 +01:00
bdistin
4fb7e64a39 Add parent, nsfw, bitrate, and userLimit options to GuildChannel.clone() (#2259)
* Add parent, nsfw, bitrate, and userLimit options to GuildChannel.clone()

* fix lint
2018-01-16 01:20:09 +01:00
iCrawl
f61b57ce10
Merge branch 'master' into voice-rewrite 2018-01-15 04:45:48 +01:00
Dim
351f5f7209 fix: missing height & width in embeds (#2249) 2018-01-14 13:28:46 +00:00
Dim
a3be0f3726 docs: Collection > RoleStore (#2251) 2018-01-14 13:28:00 +00:00
Amish Shah
d541cac9b3
Merge branch 'master' into voice-rewrite 2018-01-13 12:47:56 +00:00
bdistin
2249da464f Fix member.ban() and channel.clone() (#2241)
* Fix member.ban()

* also fix channel.clone()

* type is an option parameter in the new create

* lint

* better fix for clone
2018-01-11 18:44:35 +00:00
Isabella
9eac19d9d8 refactor: more oop with stores (#2216)
* refactor: more oop with stores

* forgot bulk delete

* Revert "forgot bulk delete"

This reverts commit 1b4fb999ee07b358ee6e1af9efb8981b84f83af1.

* appease linter

* missed some


shh

* fail
2018-01-11 16:33:30 +00:00
Schuyler Cebulskie
da32dae8f5 Merge branch 'master' into voice-rewrite 2018-01-10 00:14:29 -05:00