Gus Caplan
4127cf6e40
Experimental support for Audit Logs ( #1403 )
...
* start audit logs
* make better var types so gawdl3y doesn't shit on this
* add constructor stuff
* make more changes
* add entry creation
* add methods
* make it all work hopefully
* aaa
* aaaa
* i wish i could test this locally
* fix users, guild when i feel like it
* make guild prop non-enumerable
* make better types
* change nouns
* e
* Update GuildAuditLogs.js
* Update GuildAuditLogs.js
* Update GuildAuditLogs.js
* eek
* Update GuildAuditLogs.js
* Update GuildAuditLogs.js
* friggin trailing spaces
* Update GuildAuditLogs.js
* docs!
* Update GuildAuditLogs.js
* reason stuff
* Update GuildAuditLogs.js
* Update GuildAuditLogs.js
* support before/after for pagination
* Update Guild.js
* Update GuildAuditLogs.js
* mfw using github web editor
* fix build
* Update Guild.js
* amazing cache fuckery shit evil
* cool stuff
* make building audit logs nicer
* ban endpoint stuff
* dox
* <.<
2017-04-29 20:34:57 +01:00
Amish Shah
b0a3528411
sorry gus i borked
2017-04-29 20:00:05 +01:00
Amish Shah
5b2ca326d4
ESLint pls >.>
2017-04-29 18:07:48 +01:00
Amish Shah
f7d65991d5
Minor refactor of Actions
2017-04-29 17:56:36 +01:00
Amish Shah
dd8f77fcf0
Stop the EventEmitter debug warnings when fetching lots of guilds before ready
2017-04-29 17:46:36 +01:00
Amish Shah
584961b04b
Debug resume from connection not Client
2017-04-29 15:58:12 +01:00
Amish Shah
2e33bf583e
Try to fix StreamDispatchers ( #1387 )
2017-04-29 15:12:34 +01:00
SpaceEEC
88aa947376
Make MessageMentions#channels return an empty collection in DMs ( #1430 )
...
* Make MessageMentions#channels return an empty collection in DMs
* reduce code duplication and corrected docstring
2017-04-29 14:33:18 +01:00
stupid cat
d6b7d31047
Better ClientUser#setStatus for self bots ( #1428 )
...
* better setstatus for selfbots
* make both calls
* must return
* use setpresence, set invisible
2017-04-29 14:31:32 +01:00
Will Nelson
13672cc637
Export ReactionCollector and Collector ( #1426 )
2017-04-29 14:27:39 +01:00
SpaceEEC
956372731f
Using ws.connection.status rather than undefined ws.status ( #1429 )
2017-04-28 21:27:30 +02:00
Drahcirius
9ee695a291
incorrect variable name convention ( #1427 )
...
I'm not pr farming, I swear.
Gus told me to fix it.
2017-04-28 19:46:24 +02:00
Will Nelson
35c4c552f4
[wip] Fix collector documentation (again) ( #1416 )
...
* remove private on abstract methods, fix timeout type
* make client readonly, add documentation to abstract methods
* document implemented collector methods
2017-04-28 19:45:46 +02:00
Drahcirius
89745fe132
emojis should use cdn endpoint ( #1425 )
2017-04-28 18:47:18 +02:00
Drahcirius
2accb7b6fd
small typo fix in emoji id endpoint ( #1424 )
2017-04-28 18:11:12 +02:00
Amish Shah
195fcfa15c
Rewrite WebSocket internals ( #1410 )
...
* Start rewriting Manager and Connection
* more stuff
* stuff
* Fix ready bug
* some stuff i forgot
* fix some stuff
* add stupid heartbeat ack like seriously who cares
* woo!
* fix a bug
* rate limit the dumb websocket
* stuff
* hdocs
* Docs
* Remove ClientManager#setupKeepAlive as it is now redundant
* Change Client._pingTimestamp to a getter that fetches the timestamp from the WebSocketConnection
* are you happy now eslint smh
* make gus happy
* Add CloseEvent external doc
* Make sure to emit 'reconnecting' when actually reconnecting
* ffs
* Fix RESUME logic
* Add heartbeat ack debug messages, including latency data
* Dumb stuff for Gus
* thx eslint
* more dumb stuff
* more dumb crap smh gus i h8 u
* moar messages
* fix for using wrong status, causing certain events not to be fired (#1422 )
2017-04-28 16:13:06 +01:00
SpaceEEC
95bcac9d9b
Throwing 'Message not found' error when fetching from empty channel or without read history permission. ( #1394 )
2017-04-28 17:02:52 +02:00
Gus Caplan
1601ad14e3
i hate my life ( #1420 )
2017-04-27 00:21:03 +02:00
Gus Caplan
5ac22691d2
Add TextBasedChannel#nsfw (excluding User and GuildMember) ( #1419 )
2017-04-26 23:01:27 +01:00
bdistin
298ee4e79f
Throw an error if you try to initiate a new SnowflakeUtil class instance ( #1413 )
2017-04-25 23:29:30 +02:00
SpaceEEC
909b825c94
Fixed acknowledging of channels ( #1411 )
...
* Fixed acknowledging of channels
* using channel#lastMessageID and resolve when it's not present
2017-04-25 23:29:08 +02:00
Gus Caplan
c670209021
allow search('string here') ( #1408 )
2017-04-24 16:43:30 +02:00
Crawl
53eda09f72
Improve docs
2017-04-24 16:29:29 +02:00
SpaceEEC
401822a094
Made search argument optional, added useronly warning and fixed endpoint ( #1407 )
2017-04-24 14:31:39 +02:00
Gus Caplan
59e733cef6
deprecate aliases ( #1397 )
...
* hype
* add doc dep tags
* fix that
* hopefully fix docs
* Update TextBasedChannel.js
2017-04-24 08:05:24 +02:00
Crawl
96041dbd3a
Fix doc string
2017-04-23 08:51:07 +02:00
Crawl
6abe014ac3
Change theme prop type
2017-04-23 07:04:44 +02:00
Crawl
c095610bb4
Change docstring
2017-04-23 06:50:43 +02:00
Amish Shah
26069a44e2
nope i was right the first time
2017-04-22 21:23:20 +01:00
Amish Shah
3465a154d5
that should be 60 tbh
2017-04-22 21:20:50 +01:00
Amish Shah
eec79b5fd0
Increase WebSocket backoff time to alleviate reconnect issues
2017-04-22 21:16:58 +01:00
SpaceEEC
5b3e971c5c
Message.editedTimestamp should be a number ( #1402 )
2017-04-22 16:54:48 +02:00
Will Nelson
794c0e131d
how2docs ( #1400 )
2017-04-22 01:56:23 +02:00
Amish Shah
5605dc04e1
Fix #1399 (Trying to unset games with values other than null doesn't end up displaying properly for mobile clients)
2017-04-21 11:42:19 +01:00
Will Nelson
94e2a85386
Docs fixes ( #1398 )
...
* fix collector docs
* fix message collector param type
2017-04-21 09:44:59 +02:00
Isabella
a652901d60
Throw Error for non role-resolvables ( #1322 )
...
* throw error for role names/integers being provided for role resolvables
* Update RESTMethods.js
* Update RESTMethods.js
im really bad
* Update RESTMethods.js
* removed new promise reject
ty gus
* Update RESTMethods.js
* move error to guildmember.addRole method
* Update GuildMember.js
2017-04-19 18:57:54 +02:00
Will Nelson
ca34c43ba0
Add message reaction collectors & abstract collectors ( #1335 )
...
* message reaction collectors
* docs cleanup
* abstraction
* remove pointless method
* rename reaction collector creator method
* docs and stuff
* fix docs & build
* backwards compatibility, fix docs
* fix docs
* remove deprecated comments
* betterer docs again
* Fix documentation
* Fix Alias to not break depreciated code
2017-04-19 18:52:40 +02:00
Skiptir Engu
8475a4abee
Use libsodium.js if available ( #1390 )
...
* Use libsodium.js if available
* Style consistency
* Added peer dep and update README
* Link should point to npmjs 🤔
2017-04-19 18:35:45 +02:00
Crawl
27114eebf9
Commit those in LF too
2017-04-19 18:17:23 +02:00
Crawl
1897b4f4d6
Commit those in LF
2017-04-19 18:14:37 +02:00
Schuyler Cebulskie
b7e16ad4b8
Revert "use LF instead of CRLF ( #1392 )"
...
This reverts commit 5e522e0a2e .
2017-04-18 22:41:08 -04:00
Gus Caplan
5e522e0a2e
use LF instead of CRLF ( #1392 )
2017-04-18 21:43:05 +01:00
Gus Caplan
0d83f80fc0
Fix endless reconnection bug ( #1389 )
2017-04-17 12:32:26 +01:00
Mr. Sakamoto
4aa82b4fdf
fix Guild setOwner example ( #1383 )
...
* fix Guild setOwner docs
* hello s and bye s
2017-04-15 22:13:20 +02:00
Crawl
930519c494
Update AudioPlayer.js
2017-04-13 03:17:00 +02:00
Amish Shah
8ddaa1b92c
Merge branch 'master' of https://github.com/hydrabolt/discord.js
2017-04-12 21:22:14 +01:00
Amish Shah
78895ace17
Fix reactions not being uncached once they hit a count of 0
2017-04-12 21:22:08 +01:00
SpaceEEC
d54ef0eea4
fix ( #1375 )
2017-04-12 22:06:05 +02:00
Amish Shah
dce8e83465
Add VoiceConnection#dispatcher
2017-04-12 20:36:03 +01:00
Amish Shah
36c03909dd
Clean up AudioPlayer internals, change currentDispatcher and currentTranscoder to just dispatcher and transcoder
2017-04-12 20:32:50 +01:00
Amish Shah
9eaf1456b2
Clean up AudioPlayer internals, remove the concept of multiple "temporary" streams
2017-04-12 20:12:51 +01:00
SpaceEEC
d0c2b84659
Fixed Util.arraysEqual, made it better and updated its docs ( #1374 )
...
* commit
* improved docs
2017-04-12 19:37:31 +02:00
SpaceEEC
81d7dbdc76
Fix resolveEmojiIdentifier ( #1373 )
2017-04-12 17:15:23 +01:00
Lana Reeve
40c610987e
Improved EmojiIdentifierResolvable support ( #1361 )
...
* EmojiIdentifierResolvable now supports emoji IDs and pre-encoded unicode
* forgot to return the identifier and not the emoji itself
* using ? in JSDoc instead of |null
2017-04-12 06:32:18 +02:00
bdistin
c5e2ea7458
Break reconnect loop if you client.destroy in the disconnect event ( #1371 )
...
* Break reconnect loop if you client.destroy in the disconnect event
* fix lint/long line?
* God this is So UGLY, why...
* Update WebSocketManager.js
* Update WebSocketManager.js
2017-04-12 06:31:45 +02:00
aemino
39f7dc018a
Make FEC and PLP non-default ( #1372 )
...
I considered it might be useful to have something exposed that allows the end-user to set these if they want, but our current code doesn't allow for that. It'll remain an internal feature for the time being.
2017-04-12 06:30:48 +02:00
SpaceEEC
6187c17097
readded inviteLink endpoint ( #1369 )
2017-04-11 22:21:28 +02:00
xDdude
a49d4e6d43
getters for decibel and logarithmic volume ( #1355 )
...
* getters for decibel and logarithmic volume
I don't really understand where the conversion numbers come from but having this allows for an easy way to get the volume back based on what method you used to set it. I think the math is right, but yeah I've just used the conversion numbers from the other methods.
* fix trailing spaces
2017-04-11 18:21:00 +01:00
Drahcirius
84aab1021a
reaction remove fix ( #1366 )
2017-04-11 18:10:14 +01:00
Amish Shah
25e0048bbf
remove useless waiting reference
2017-04-11 17:59:27 +01:00
Gus Caplan
8dfc96d460
fix message acking ( #1368 )
2017-04-11 17:54:25 +01:00
Amish Shah
6495df50f9
Fix sequential rate limiting
2017-04-11 17:54:03 +01:00
bdistin
9365272baf
Fix embeds getting converted to collection on edgecase ( #1356 )
2017-04-10 14:30:06 -04:00
SpaceEEC
e60d2bd175
Fix MessageMentions properties always being null or empty ( #1357 )
2017-04-10 20:06:00 +02:00
Gus Caplan
0a56fa0aae
websocket cleanup ( #1346 )
...
* websocket cleanup
* resume event
* Update Resumed.js
* Update WebSocketManager.js
2017-04-10 20:02:17 +02:00
Gus Caplan
8436cbe8b1
Update User.js ( #1351 )
2017-04-10 16:20:07 +01:00
aemino
6d4fe89212
Volume stuff docs fixes ( #1354 )
...
* Volume stuff docs fixes
* 10/10 for spelling
2017-04-10 11:50:33 +01:00
Schuyler Cebulskie
3bc90dcbf1
Add export for MessageMentions
2017-04-10 03:21:14 -04:00
Schuyler Cebulskie
ebcf61ff9c
Remove MessageMentions constructor docs
2017-04-10 03:12:57 -04:00
Schuyler Cebulskie
4fa5ceed83
Fix some docstrings
2017-04-10 03:07:05 -04:00
Schuyler Cebulskie
fa016b6b41
Clean up Message#mentions and message updates
2017-04-10 03:01:50 -04:00
Crawl
878e5d7c76
Fix example typo
2017-04-10 00:39:07 +02:00
Gus Caplan
e5293647a3
(╯°□°)╯︵ ┻━┻ ( #1347 )
2017-04-07 12:13:13 +02:00
aemino
ab589fa5f2
VoiceConnection speaking bugfix ( #1343 )
...
Looks like I made a typo...
2017-04-06 16:20:34 +02:00
Crawl
d1d8179460
Revert "add auth session change handling" ( #1342 )
...
* Revert "User settings (#1337 )"
This reverts commit 801633b970 .
* Revert "add auth session change handling (#1339 )"
This reverts commit 5d85de0883 .
2017-04-06 13:50:31 +02:00
Gus Caplan
801633b970
User settings ( #1337 )
...
* user settings bruh
* remove development dump
* emit stuff
* i am so done
* Update ClientUserSettings.js
* modularize
* Update ClientUserSettings.js
* Update Constants.js
* Update ClientUserSettings.js
* Update RESTMethods.js
* Update ClientUserSettings.js
* <.<
2017-04-05 22:03:33 +02:00
Gus Caplan
5d85de0883
add auth session change handling ( #1339 )
...
* add auth session change handling
* eek
2017-04-05 21:52:55 +02:00
SpaceEEC
6ce24398ab
Fix messageReactionAdd internally & doc fix ( #1341 )
2017-04-05 21:34:14 +02:00
Amish Shah
970bfffc46
Fix emoji events ( fixes #1333 )
2017-04-05 17:05:27 +01:00
SpaceEEC
ecb8655dac
Document readonly and private properties ( #1338 )
2017-04-03 20:05:36 +02:00
Crawl
4be08406e6
Fix travis build error
2017-04-03 02:06:08 +02:00
Crawl
047cd2da5c
Fix fetchRecommendedShards
2017-04-03 01:51:15 +02:00
Crawl
6910585f69
Fix lowercase comments
2017-04-02 19:47:00 +02:00
aemino
8716702b59
Add FEC and PLP support for Opus encoding ( #1264 )
...
* Add FEC and PLP support for Opus encoding
* Silently fail if the Opus engine doesn't support CTL
* Fixed inversed max/min functions
2017-04-02 19:43:46 +02:00
Crawl
09489e2b9f
Fix indent on doc string
2017-04-01 21:19:39 +02:00
Isabella
d189b51da5
explicit content filter for guilds ( #1329 )
2017-04-01 21:16:30 +02:00
SpaceEEC
270bbc2731
to Endpoints.CND with you ( #1330 )
2017-04-01 21:16:15 +02:00
Crawl
7ffbbc7f07
Fix _sortedRoles in Role.js
2017-04-01 16:28:19 +02:00
Crawl
358131fb6f
Fix _sortedRoles in Guild.js
2017-04-01 16:27:55 +02:00
SpaceEEC
d2e3d6dc63
replaced 'del' with 'delete' ( #1328 )
2017-04-01 16:16:05 +02:00
Gus Caplan
cb3f6d9646
http rewrite (actually works this time!!1!) ( #1257 )
...
* rewrite http
* browser fun
* all the mimes dammit
* i need a newline
* whoops
* forgot about this
* use promises and HTTPRequest.method
* fluent
* move httpclient to external module
* branding
* middleware
* revert middleware
2017-04-01 09:04:01 +02:00
Gus Caplan
a4e0af2e45
make positions for channels and roles nicer ( #1211 )
...
* make role calculated position nicer
* make channels sortable in a nice way too
* stupid git web rebase editor
* Update Guild.js
* Update Guild.js
* Update Guild.js
* Update Guild.js
* Update RESTMethods.js
2017-04-01 08:28:54 +02:00
TimeForANinja
c4e5292516
resolve for not loggedin clients ( #1301 )
2017-04-01 08:05:46 +02:00
bdistin
bca101aac8
Fix for #1089 & Message Reactions ( #1236 )
...
* [requires more testing] Fix #1089
* Clean up unshift
* Remove <Message>.patch(data)
Nothing calls this method any longer. It is also a private method, so this shouldn't be a breaking change.
* Fix Message Reactions
Purposely reference previous reaction collections, so collection is consistant accross all message edits (no unnecisary data duplication). Makes #1221 extranious.
* Some Data Packets come Incomplete
And several properties can be falsy, so instead of || opted for hasOwnProperty().
* No reason MessageTypes should be an object...
* Use `prop in obj` isntead of hasOwnProp
per @Gawdl3y
2017-04-01 01:51:12 -04:00
SpaceEEC
07740955cf
Fixing stuff, borked by #1323 ( #1326 )
...
* several things
* see my comment
* Fixed missing stuff and returned undefined
2017-04-01 07:29:31 +02:00
Gus Caplan
305a7d14af
whoops ( #1325 )
2017-03-31 23:13:41 +02:00
Gus Caplan
e86ec7de6f
Update Constants.js ( #1324 )
2017-03-31 19:42:16 +02:00
Gus Caplan
1df3b84da6
rewrite endpoints for consistancy and modularity ( #1323 )
...
* rewrite endpoints for consistancy and modularity
* clean up a bit
* add missing endpoint
2017-03-31 18:36:09 +01:00
SpaceEEC
e08f2bad30
Add guild#createRole resolve permissions and RoleData optional ( #1321 )
...
* resolving permissions
* make RoleData optional
2017-03-31 12:55:23 +02:00
Crawl
f73e6a3e4d
Fix typo in MessageEmbed#video
2017-03-30 22:14:06 +02:00
Gus Caplan
dd3831fa1e
Remove type error from Collection#exists() ( #1320 )
2017-03-30 11:01:07 -04:00
1Computer1
5334682682
Add missing properties for MessageEmbed ( #1300 )
...
* Add missing properties
* Derp
2017-03-30 08:47:34 -04:00
Gus Caplan
104f3397af
Add defaultRole to guild ((╯°□°)╯︵ ┻━┻) ( #1311 )
...
* (╯°□°)╯︵ ┻━┻
* Update Guild.js
2017-03-30 08:44:08 -04:00
Vap0r1ze
61f5051dfd
Fix invite resolver ( #1318 )
...
Old version only worked with temporary links.
Now works with: vanity invites, and permanent invites.
2017-03-30 08:41:18 -04:00
SpaceEEC
55141b408b
Fix ( #1306 ) MessageRection#fetchUsers() return a collection istead of an array
2017-03-30 12:02:00 +02:00
Schuyler Cebulskie
c73b9483f4
Clean up and add comments
2017-03-22 01:16:30 -04:00
Schuyler Cebulskie
cff7069275
Switch from for..of to forEach
2017-03-22 01:12:46 -04:00
Drahcirius
8444f19662
Added mentions.members ( #1271 )
...
* Added mentions.members
* made member.mentions undefined on when not on guild channel
* changed property to getter
* Update Message.js
2017-03-22 01:08:25 -04:00
SpaceEEC
beffcd31cd
fix guildWebhooks endpoint ( #1284 )
2017-03-21 16:31:02 +00:00
Gus Caplan
dd8907472c
nonce has to be a uint64 :< ( #1240 )
...
* nonce me daddy
* Update RESTMethods.js
* Update RESTMethods.js
* Update RESTMethods.js
* Update RESTMethods.js
* Update RESTMethods.js
* Update RESTMethods.js
* (╯°□°)╯︵ ┻━┻
* Update RESTMethods.js
* Update RESTMethods.js
2017-03-21 03:17:20 -04:00
Gus Caplan
3e0c0f44a2
make useragent better because data is fun ( #1244 )
...
* Update UserAgentManager.js
* Update UserAgentManager.js
* gawdl3y is one of the most pants-on-head retarded people i have ever met
* Update UserAgentManager.js
* Update UserAgentManager.js
* Update UserAgentManager.js
* Update UserAgentManager.js
2017-03-21 03:12:20 -04:00
Schuyler Cebulskie
58068fdae9
Change check for array/number, and fix docs
2017-03-21 02:53:08 -04:00
Schuyler Cebulskie
245bd91101
Allow Permissions constructor to take array of perms
2017-03-21 02:45:11 -04:00
Schuyler Cebulskie
79278bccb4
Fix Permissions.resolve to return a combined bitfield for arrays
2017-03-21 02:16:18 -04:00
Programmix
633e3ca896
Fix addRole/removeRole when the user has/doesn't have the role ( #1288 )
2017-03-21 01:52:43 -04:00
Schuyler Cebulskie
2e54f6d90d
Was worth a shot
2017-03-21 01:49:12 -04:00
Pg Biel
64ce829ab2
Make FetchMessage work for non-bot users ( #1291 )
...
* [WIP] make fetchMessage work for normal users
wip
* Actual thing
* not WIP anymore
better docs
* oops
* better stuff
* Update TextBasedChannel.js
* Update TextBasedChannel.js
* Update TextBasedChannel.js
2017-03-21 01:42:39 -04:00
Schuyler Cebulskie
2349238f69
Fix #1287 (Role#serialize)
2017-03-21 01:24:53 -04:00
Schuyler Cebulskie
136cab240d
Add new ESLint rules
2017-03-17 01:23:39 -04:00
Crawl
2237749d29
Fix richEmbed attachFile
2017-03-16 17:07:11 +01:00
SpaceEEC
6983798820
Fix optional args for sendFiles ( #1278 )
2017-03-16 16:20:37 +01:00
Gus Caplan
94062d19dd
Add message/channel/guild acknowledging ( #1239 )
...
* add acking
* 👀
* Update RESTMethods.js
* Update TextBasedChannel.js
* Update RESTMethods.js
* Update Guild.js
* Update TextBasedChannel.js
* Update Message.js
* super shitty names
* Update GroupDMChannel.js
* Update DMChannel.js
* Update TextChannel.js
2017-03-16 09:38:12 -04:00
Gus Caplan
fa609caee2
remove pako ( #1258 )
2017-03-16 09:15:48 -04:00
Crawl
1f2d8bfbc1
Add missing sendFiles doc and on channels
2017-03-16 00:47:05 +01:00
bdistin
8729ee6a1d
Fix #1253 : Permission Overwrites Resolution ( #1255 )
...
* Fix #1253
* apparently @ everyone role can be undefined
* Fix oops
* Fixes possible mutiple roles named '@everyone'
* Clean up order/logic
2017-03-15 15:29:34 +01:00
Gus Caplan
a82d9f1fbb
add multi-file support ( #1268 )
...
* add multi-file support
* (╯°□°)╯︵ ┻━┻
(╯°□°)╯︵ ┻━┻(╯°□°)╯︵ ┻━┻(╯°□°)╯︵ ┻━┻(╯°□°)╯︵ ┻━┻(╯°□°)╯︵ ┻━┻(╯°□°)╯︵ ┻━┻(╯°□°)╯︵ ┻━┻(╯°□°)╯︵ ┻━┻(╯°□°)╯︵ ┻━┻(╯°□°)╯︵ ┻━┻(╯°□°)╯︵ ┻━┻(╯°□°)╯︵ ┻━┻(╯°□°)╯︵ ┻━┻(╯°□°)╯︵ ┻━┻(╯°□°)╯︵ ┻━┻(╯°□°)╯︵ ┻━┻(╯°□°)╯︵ ┻━┻(╯°□°)╯︵ ┻━┻(╯°□°)╯︵ ┻━┻(╯°□°)╯︵ ┻━┻(╯°□°)╯︵ ┻━┻(╯°□°)╯︵ ┻━┻(╯°□°)╯︵ ┻━┻(╯°□°)╯︵ ┻━┻(╯°□°)╯︵ ┻━┻(╯°□°)╯︵ ┻━┻(╯°□°)╯︵ ┻━┻(╯°□°)╯︵ ┻━┻(╯°□°)╯︵ ┻━┻(╯°□°)╯︵ ┻━┻(╯°□°)╯︵ ┻━┻
* stupid git web rebase editor - Gus2k17
* Update TextBasedChannel.js
* Update TextBasedChannel.js
2017-03-15 15:10:49 +01:00
SpaceEEC
6b26d28c06
Fix ( #1262 )
...
Not ignoring the filterOld boolean when a number is being passed instead of collection or array
2017-03-14 22:58:21 +01:00
Crawl
4ef0ec491c
Add arrow-parens eslint rule & fix inconsistencies
2017-03-13 15:56:00 +01:00
Motion
cee0d58fb8
Added docs warning for acceptInvite method ( #1267 )
...
Added docs warning for acceptInvite method (user account only iirc)
2017-03-13 07:04:31 +00:00
1Computer1
bbd89585c6
Add RichEmbed fields error handling ( #1243 )
...
* RichEmbed fields error handling
* Fix consistency
* Update RichEmbed.js
2017-03-09 20:58:46 -05:00
bdistin
14ae7cdf17
[Docs] Evaluated Permissions References ( #1250 )
...
* Docs / Permissions Overwrites Reference
* Docs / Evaluated Permissions Reference
* Clarify role.permissions is not evaluated
* Update Role.js
2017-03-09 18:32:44 -05:00
Gus Caplan
2897692cf1
fix created timestamp precision ( #1241 )
...
* fix created timestamp precision
* perf
* Update Snowflake.js
* gawdl3y was butthurt
* Update Snowflake.js
2017-03-09 18:31:31 -05:00
Schuyler Cebulskie
21babf8859
Update GuildMember#hasPermission(s) to match Role
2017-03-07 02:53:12 -05:00
Schuyler Cebulskie
3e5096f9fe
Update Role#hasPermission, and deprecate hasPermissions
2017-03-06 19:58:42 -05:00
Schuyler Cebulskie
df2333ac82
Fix Role#hasPermission
2017-03-06 19:38:58 -05:00
Schuyler Cebulskie
b926cd0dcd
Remove redundant Markdown
2017-03-06 12:22:53 -05:00
Schuyler Cebulskie
6211119928
Fix Permissions.ALL on Node 6
2017-03-06 12:21:42 -05:00
Schuyler Cebulskie
4f7e0c41ee
Doc fixes
2017-03-06 02:34:39 -05:00
Schuyler Cebulskie
30dd9be900
Pass the member into new Permissions instances
2017-03-06 02:29:35 -05:00
Schuyler Cebulskie
427eec8ccb
Fix ESLint failure
2017-03-06 02:27:04 -05:00
Schuyler Cebulskie
16fe48d405
Overhaul Permissions utilities (EvaluatedPermissions no more)
2017-03-06 02:22:42 -05:00
Programmix
055775de2f
Fix for #1219 (sodium methods) ( #1220 )
...
* Change node-opus methods
* Try using crypto_secretbox(_open)_easy
* Wrong open method name
2017-03-04 08:33:19 +00:00
Amish Shah
33de408a70
fix bulk delete endpoint
2017-03-04 00:35:54 +00:00
1Computer1
e7b0afbd1f
Add color role, hoist role getters to GuildMember ( #1188 )
2017-03-01 04:53:12 -05:00
Schuyler Cebulskie
a5740e83f4
Change burst mode warning
2017-03-01 04:51:46 -05:00
Schuyler Cebulskie
7473fd513e
Remove InviteOptions typedef, rephrase
2017-03-01 04:48:26 -05:00
SpaceEEC
fc42a46e5b
Invite options ( #1223 )
...
* test
* updated descripton
* Update GuildChannel.js
2017-03-01 04:45:05 -05:00
bdistin
25bb602d5a
Add Collection.clone() ( #1238 )
...
* Add Collection.clone()
* More efficient cloning, and concat update
* Update Collection.js
* Update Collection.js
2017-03-01 04:41:36 -05:00
Kelvin Wu
01d8d32ea9
Add typedef for GuildmemberEditData. ( #1230 )
...
* Add typedef for GuildmemberEditData.
* Farm commits
* Make terms consistent.
2017-03-01 04:36:17 -05:00
lipgloss
0e6b5e9193
Change update to create ( #1231 )
2017-02-27 07:03:24 +00:00
Amish Shah
dfb1a16e9e
One-line an if statement
2017-02-25 23:26:40 +00:00
Programmix
275c9953a0
Fixes disconnecting VoiceConnections before connected ( #1227 )
2017-02-25 23:17:39 +00:00
Schuyler Cebulskie
f3a7f59824
Several improvements
...
- Rename Guild#updateChannelPositions -> setChannelPositions
- Allow Guild#setChannelPositions to take ChannelResolvables
- Prioritise ClientDataResolver#resolveChannel's string case
- Minor cleanup
2017-02-25 15:29:32 -05:00
Amish Shah
18bcd2f7e2
Add AudioPlayer.currentDispatcher
2017-02-25 11:12:17 +00:00
Programmix
a029999b09
Doc fixes, mostly pertaining to Snowflakes ( #1218 )
...
GUS!!!! @GusCaplan
2017-02-24 15:33:51 -05:00
Programmix
76637ed10d
Fix VoiceDispatcher docs ( #1214 )
2017-02-23 21:42:41 -05:00
Amish Shah
70b35c85d6
Merge branch 'indev-prism'
2017-02-23 20:19:26 +00:00
Programmix
bf25caf3d3
Updated VoiceConnection to use new Util class ( #1210 )
...
pls @Gawdl3y pls
2017-02-22 22:10:26 +00:00
Amish Shah
b55e6927e9
merge fix
2017-02-22 20:39:21 +00:00
Amish Shah
8a2ec437e5
Merge branch 'master' into indev-prism
2017-02-22 20:37:59 +00:00
Gus Caplan
4c9d8d6cd7
add lots of group dm features ( #1208 )
...
* group dm stuff
* minor doc changes
2017-02-22 20:33:20 +00:00
Joschua Schneider
5c2086b351
Allow presence updating to allow null games ( #1186 )
...
* Adding resetGame functionallity
`setGame` method would allways result in an Object passed to `setPresence`.
Passing { game: null } (supported by discords WebSocket gateway to reset the current Game) to `setPresence` would still result in a Game Object sent to the endpoint.
Explicitly setting `game` to null should overwrite the `game` object provided by `localPresence` or `client.presence`.
This was neither supported by `setGame` or `setPresence`.
* Missing semicolons to resetGame and setPresence
* Fixing trailing spaces, commas and semicolons
* Moving resetGame functionality into setGame method
Minification of if statement in setPresence.
Removing resetGame method and adding a case for `game === null` to setGame method
* Adding missing space in setGame method
* Fix docs
2017-02-22 20:24:39 +00:00
lipgloss
f068010e96
Implement 'Modify Guild Channel Positions' ( #1198 )
...
* Adding shuffleArray method to utils
* Shuffle channels functionality on guild.
* Comment fix
* Removing shuffle functionality and replacing with a simple update
* Code review changes to method/variable names
* Update comment reference to channelId as well
* Updating jsdoc with typedef of ChannelPosition
2017-02-22 20:24:05 +00:00
Programmix
7fd94c29d8
VoiceConnection rework ( #1183 )
...
* VoiceConnection rework
- improves codebase
- removes concept of pending connections
- attempts to fix memory leaks by removing EventEmitter listeners
- makes voice connections keep track of its own channel when it is moved by another user
- allows voice connections to reconnect when Discord falls back to another voice server or a region change occurs
- adds events for some of the aforementioned events
* Removed unused code
* More clean up / bugfixes
* Added typedefs to Status and VoiceStatus constants
2017-02-22 20:13:52 +00:00
Gus Caplan
566135d25b
move permission stuff to the resolver ( #1185 )
2017-02-22 20:11:11 +00:00
Programmix
eb069d0249
Added volumeChange event to VoiceInterface ( #1207 )
...
VoiceBroadcast relies on this event to initialize a new Opus engine
2017-02-22 20:10:19 +00:00
Gus Caplan
61e12c637b
Add support for more OAuth features ( #1203 )
2017-02-22 20:09:40 +00:00
Programmix
d09dfa4c37
Capitalize channel type constants ( #1209 )
2017-02-22 20:08:47 +00:00
Schuyler Cebulskie
b0338df7db
Add more required permissions to Guild#addMember
2017-02-21 15:09:46 -05:00
Schuyler Cebulskie
8d1bc30e40
Clean up dd6dd6f
2017-02-21 15:07:54 -05:00
Zack Campbell
db5259cdf1
Add RichEmbed#attachFile ( #1202 )
...
* Add RichEmbed#attachFile
Mostly for attaching local images that can be accessed within the embed image/author icon/footer icon via `attachment//filename.png` and the like.
* Update docstring to reflect valid param types
* Update TextBasedChannel.js
* Update RichEmbed.js
* Update RichEmbed.js
2017-02-21 14:29:37 -05:00
Gus Caplan
d4a84915e6
Add timeout/interval methods to WebhookClient ( fixes #1181 ), and clean up docs ( #1204 )
...
* fix up 1181
* Clean up documentation
* Update WebhookClient.js
2017-02-21 14:16:41 -05:00
Schuyler Cebulskie
f2a6c1d98c
Improve Client docs a bit more
2017-02-21 14:02:29 -05:00
Kelvin Wu
d870b27ece
Message#member should be a nullable. ( #1205 )
2017-02-21 13:49:20 -05:00
Jamelele
1273bb42ec
Doc fixes ( #1197 )
...
* Improve ban/unban examples
* Fix example comments
* Replace nondescript 'user' parameter with 'some user ID'
* Update Guild.js
* Update Guild.js
2017-02-19 16:06:18 -05:00
Schuyler Cebulskie
7232531eb1
Move all util methods into class
...
Remove TransformMessageOptions altogether
2017-02-15 22:25:18 -05:00
Schuyler Cebulskie
b91f8f27be
Fix resolveBuffer file failure behaviour
2017-02-15 16:37:31 -05:00
Gus Caplan
ec1ed15c88
Fix request handling ( #1180 )
...
* clean up ratelimiters, and disable burst until some big questions are handled
* burst mode is a work
* fix burst again
2017-02-11 12:04:24 +00:00
Mike
dd6dd6fb59
Added support for adding users to guild 2 ( #1179 )
...
* Added support for adding users to guild
added RESTMethods#AddGuildMemberOptions and Guild#addMember with typedef
AddGuildMemberOptions to be able to add user to guild as a member
through `PUT/guilds/{guild.id}/members/{user.id}`
https://discordapp.com/developers/docs/resources/guild#add-guild-member
* fixing lint errors
* Changes based on discussion
* Changes based on discussion 2
* Changes based on discussion 3
Yay! More changes.
2017-02-08 21:04:39 +00:00
Zack Campbell
2518a0f7e2
Fix for incorrect oldMember in guildMemberUpdate event after addRole ( #1129 )
...
* Fix for incorrect oldMember in guildMemberUpdate event after addRole
`addRole` would modify the cached GuildMember rather than letting it be handled internally when a guild member update packet is received from Discord, leading to the `oldMember` and `newMember` being identical following a call to `addRole`
This is currently how `addRoles` does it, and a correct oldMember is passed to the `guildMemberUpdate` event following a call to `addRoles`
* Return cloned member with added/removed role
So we can return a member object with the added/removed role without affecting the member object sent to `guildMemberUpdate`
* Wait for guildMemberUpdate and return updated GuildMember
* Fix linter errors
* Remove listeners after 10 seconds
2017-02-08 17:38:57 +00:00
Will Nelson
cdb911f2af
update setImage documentation ( #1177 )
2017-02-08 17:18:10 +00:00
Alexander
cc3e7b26b1
Add convenience function RichEmbed.addBlankField ( #1139 )
2017-02-08 17:17:13 +00:00
Gus Caplan
7c8f534a38
add random color ( #1175 )
...
* add random color
* Update ClientDataResolver.js
* Update ClientDataResolver.js
2017-02-07 01:19:43 -05:00
Alex
ab5e57d94b
Create Emoji requires a base64 data uri ( #1154 )
2017-02-06 14:19:03 -05:00
Schuyler Cebulskie
d6f17a9319
Merge branch 'master' into indev-prism
2017-02-06 01:54:31 -05:00
Jacob
49944747ae
Sodium ( #1172 )
...
* Use Native libsodium when available
* add newline
* fix typo of exports
* add to webpack ignore
* Update Secretbox.js
2017-02-06 01:24:54 -05:00
Schuyler Cebulskie
b859ba7639
Increase some documentation detail
2017-02-05 23:00:36 -05:00
Amish Shah
26becb570b
Fix #1168 (.hasPermission)
2017-02-04 20:58:39 +00:00
Gus Caplan
59ff1d99ba
fix types for snowflakes ( #1156 )
...
* fix types for snowflakes
* Update TextBasedChannel.js
2017-02-03 21:37:58 -05:00
Funnbot
0b5eeb08f3
clone topic in channel.clone() ( #1157 )
...
* Update GuildChannel.js
* Update GuildChannel.js
* Update GuildChannel.js
* Update GuildChannel.js
* Update GuildChannel.js
* Update GuildChannel.js
2017-02-03 21:37:32 -05:00
Gus Caplan
cee9e4839c
fix sending code when you aren't splitting the message ( #1162 )
...
* fasguhq4wbyghjehuibh
kjgewqhuilb
* Update RESTMethods.js
2017-02-02 16:21:26 +00:00
Gus Caplan
1e94a9e2a4
serious role position stuff ( #1159 )
...
* serious role position stuff
* kill meh
* Update Role.js
* Update Guild.js
* Update Role.js
2017-02-01 22:02:16 +00:00
Schuyler Cebulskie
02c23a8b53
Merge branch 'master' into indev-prism
2017-02-01 15:32:18 -05:00
bdistin
a2d6791cd8
Fix CodeBlock Splitting ( #1160 )
...
* Fix CodeBlock Splitting
* fix changes requested
2017-02-01 15:31:57 -05:00
Schuyler Cebulskie
e8ac18489e
Merge branch 'master' into indev-prism
2017-02-01 15:29:45 -05:00
Alex
ed42d7bd85
Fix backwards GuildEmojiCreate parameters ( #1153 )
2017-01-31 00:49:11 -05:00
Gus Caplan
8da915f6a1
expose createDM ( #1151 )
...
* expose createDM
* Update User.js
* in v12 we are removing these, kay?
* Update GuildMember.js
* Update User.js
2017-01-30 22:56:14 -05:00
Schuyler Cebulskie
f4724d61b2
Fix #1095
2017-01-30 22:54:37 -05:00
Gus Caplan
565c640bc6
Add role support to emoji creation ( #1141 )
...
* add role support to emojis
* specify types
2017-01-30 22:47:27 -05:00
Alex
18729b25c7
Add support to edit emojis ( #1142 )
...
* Add support to edit emojis
* Fixes for coding style.
* Add and use guildEmoji constants for updateEmoji
* Just use the Constant
* Fix typo in edit documentation
* Specify property types
* Fix ridiculous typo.
* Update Emoji.js
2017-01-30 22:47:05 -05:00
Programmix
78dafb9480
Properly check whether an Opus engine exists ( #1150 )
...
* Properly check whether an Opus engine exists
I think I'm retarded
* Fix eslint error
* Update OpusEngineList.js
2017-01-30 16:38:47 -05:00
Programmix
7ed58f5f7f
Added Opus stream support, added volume interface ( #1102 )
...
* Added opus stream support, added volume interface
* Remove setImmediate
* Fix weird syntax error
* Most useless commit ever
You're welcome, @PgBiel
* Fix potential memory leak with OpusScript
Emscripten has the tendency to not free resources even when the Opus engine instance has been garbage collected. Thanks to @abalabahaha for pointing this out.
* Typo
* VoiceReceiver.destroy: destroy opus encoder
2017-01-29 19:07:33 +00:00
Programmix
5059c59a31
Message patching: clear mention collections ( #1138 )
...
* Message patching: clear mention collections
Fixes #1089
When discord sends an array of mentions, it is a full list of mentions -- therefore, we should clear the old mention collection. The same goes for when we re-analyze the message for channel mentions.
* Use Collection.clear() instead of new Collection
2017-01-29 19:02:54 +00:00
Fiddlekins
6fae17912e
Added try catch so that decode errors aren't fatal ( #1146 )
...
* Added try catch so that decode errors aren't fatal
* Tweaked the usage of the warn event and updated jsdocs
* Moved method into class for webpack scoping reasons
2017-01-29 18:59:00 +00:00
Digitroinc
448c93615b
fix splitting messages #1148 )
...
* fix for issue #1120
* build fix
2017-01-29 18:58:35 +00:00
Gus Caplan
2beb77ab5c
check if a guildchannel is deletable ( #1143 )
...
* Update GuildChannel.js
* eghhh
* Update GuildChannel.js
2017-01-28 10:07:53 +00:00
Pg Biel
c7f5b44e03
Add User.lastMessage, GuildMember.lastMessage and TextBasedChannel.lastMessage ( #1135 )
...
* Add User.lastMessage
* User.lastMessage and GuildMember.lastMessage
* User, GuildMember and TextBasedChannel lastMessage
* Update MessageCreate.js
2017-01-26 21:24:08 +00:00
Programmix
9a6cb6477d
VoiceReceiver: multiple streams fix ( #1132 )
...
* VoiceReceiver: multiple streams fix
silly hydar... you can't have one Opus engine instance for every stream
* Better creation of opus engine
2017-01-26 21:23:00 +00:00
Gus Caplan
87b600f78f
switch to os shim for safety ( #1136 )
...
* switch to os shim for safety
* Update Client.js
2017-01-26 21:21:43 +00:00
Programmix
ba11f76284
Fix patching message reactions ( fixes #1071 ) ( #1137 )
2017-01-26 21:20:40 +00:00
Alex
ba7c2db364
Fix createEmoji/deleteEmoji action name. ( #1110 )
2017-01-24 21:56:19 +00:00
Alexander
5173583e26
Fix empty search query parameters ( #1119 )
...
The search function was sending request to stuff like:
search?author_id=&content=&channel_id=135823828352838352
2017-01-24 21:55:59 +00:00
Programmix
c1a5bee61f
GuildMembersChunk packet handler hotfix ( #1125 )
...
* GuildMembersChunk packet handler hotfix
* Add limit, resolve properly if a query is used
* Document new GuildMemberChunk param
2017-01-24 21:55:36 +00:00
Gus Caplan
4b2053133d
more profile stuff ( #1131 )
2017-01-24 21:53:26 +00:00
Programmix
c73e501243
Fix RESTMethods.removeMessageReaction ( fixes #1114 ) ( #1126 )
2017-01-21 19:48:17 -05:00
Gus Caplan
306ea97f99
fix guild member fetching edge cases ( #1115 )
...
* thx4tipprogrammixluvubye
* consistancy
* make this loop for some reason
* so impatient
2017-01-21 16:37:28 +00:00
Gus Caplan
0300601649
remove redundant editing ( #1116 )
...
* remove redundant editing
* update docs
2017-01-19 17:11:24 +00:00
Gus Caplan
1e6abe587b
no more ( #1117 )
2017-01-19 17:10:54 +00:00
Schuyler Cebulskie
b13fdcc8d3
Merged master into indev-prism
2017-01-18 19:23:18 -05:00
Gus Caplan
3f4cbd07dd
add voice region getting ( #1108 )
...
* add voice region getting
* clean up this mess
* add docstrings
* Update VoiceRegion.js
* Update RESTMethods.js
2017-01-18 19:14:44 -05:00
Gus Caplan
ff92905848
add warning about which class to use for embeds ( #1107 )
...
* Update MessageEmbed.js
* Update MessageEmbed.js
2017-01-18 10:55:06 -05:00
Peter Vu
93d8ec3e87
VoiceChannel#full fix on no limit channel for joinable ( #1106 )
...
* VoiceChannel#full fix on no limit channel for joinable
* Update VoiceChannel.js
2017-01-16 23:36:29 -05:00
Hackzzila
f8b9bf6884
Fix reaction events ( #1105 )
...
* Fix reaction events
* Made it better
* one line ftw
2017-01-16 22:52:25 +00:00
Amish Shah
ba465bc680
Merge branch 'master' into indev-prism
2017-01-15 14:20:32 +00:00
Gus Caplan
8c220e76ec
Fix GuildDelete typing stopping ( #1098 )
...
* whoops
* ugh
* Update GuildDelete.js
2017-01-14 23:33:26 -05:00
Programmix
d10ca8e7ba
Add VoiceChannel#full and improve joinable/join permission checks ( #1100 )
...
* Improve voice channel join permission checks
* Update ClientVoiceManager.js
2017-01-14 23:32:17 -05:00
Programmix
7cb5b22ebb
@Gawdl3y dun goofed ( #1099 )
2017-01-14 20:03:26 -05:00
Gus Caplan
48be401330
add clientuser acceptinvite ( #1081 )
...
* add clientuser acceptinvite
* Update RESTMethods.js
* Update ClientUser.js
* Update ClientUser.js
* Update RESTMethods.js
2017-01-14 21:25:12 +00:00
Gus Caplan
7f4846c826
Add option to filter old messages in TextBasedChannel#bulkDelete ( #1090 )
...
* add filtering for messages older than two weeks
* Update RESTMethods.js
* Update RESTMethods.js
* Update RESTMethods.js
* Update TextBasedChannel.js
* Update RESTMethods.js
* Update RESTMethods.js
* Update RESTMethods.js
* Update RESTMethods.js
* Update TextBasedChannel.js
2017-01-14 16:21:23 -05:00
Gus Caplan
78bf402e8e
allow users and members to not be cached ( #1097 )
2017-01-14 21:20:09 +00:00
Amish Shah
098ad195bd
Merge branch 'master' into indev-prism
2017-01-14 21:00:13 +00:00
Gus Caplan
e216fc7a81
stop spamming api, and kill typing when a guild isn't there anymore ( #1096 )
2017-01-14 17:31:52 +00:00
Schuyler Cebulskie
f647eb7a91
Clean up colour resolver
2017-01-13 22:55:10 -05:00
Schuyler Cebulskie
df02eee065
Fix Guild#large not being accurate for user accounts
2017-01-13 21:47:47 -05:00
Amish Shah
7357fc2163
Update typings and increase performance when not listening for presence updates
2017-01-13 19:15:21 +00:00
Amish Shah
f7a4dee4e1
Merge branch 'master' into indev-prism
2017-01-13 18:58:37 +00:00
Gus Caplan
5ac410f352
Cleanup webhooks ( #1094 )
...
* clean up webhooks and fix sending messages with webhooks
* whoops
* fix up options
* Update Webhook.js
* Update Webhook.js
* Update Webhook.js
* fix docstring
2017-01-13 18:48:12 +00:00
Schuyler Cebulskie
74fd0421ba
Add missing descriptions
2017-01-13 00:18:00 -05:00
Gus Caplan
0d4eab8d24
add color resolvable, and color constants from the client ( #1080 )
...
* add color resolvable, and color constants from the client
* fix up docs
* Update ClientDataResolver.js
* add easter eggs
* Update ClientDataResolver.js
* Update RESTMethods.js
2017-01-12 18:43:22 +00:00
Gus Caplan
a3091f5262
Handle 4011 ws event code ( #1083 )
...
* 4011
* Update WebSocketManager.js
* smh gawdl3y
2017-01-11 22:59:09 +00:00
Schuyler Cebulskie
b2822c584a
Minor doc updates
2017-01-10 19:43:25 -05:00
Schuyler Cebulskie
5caa7df1d8
Add centralised reply option to message options
2017-01-10 19:25:05 -05:00
Schuyler Cebulskie
8b0e5aad38
Fix sendEmbed with array content
2017-01-10 19:22:03 -05:00
Gus Caplan
c37cd3fd91
clean up webhooks and fix sending messages with webhooks ( #1078 )
...
* clean up webhooks and fix sending messages with webhooks
* whoops
* fix up options
* Update Webhook.js
* Update Webhook.js
* Update Webhook.js
2017-01-10 16:52:12 -05:00
Amish Shah
b5026909a1
Remove DMChannel.bulkDelete and GroupDMChannel.bulkDelete
2017-01-09 18:20:05 +00:00
Enchanted13
47707d245d
Changed return type of Guild.defaultChannel ( #1079 )
...
The default channel for a Guild is always the first TextChannel in the Guild, it can't be a VoiceChannel.
2017-01-09 15:35:11 +00:00
Gus Caplan
5e7ae847de
switch to proper querystring parser because why not ( #1077 )
2017-01-08 14:49:56 -05:00
ooookai
4a7284b86e
move function getRoute(url) into class APIRequest ( #1065 )
...
this.route = getRoute(this.url);
>>>
this.route = this.getRoute(this.url);
2017-01-08 19:34:06 +00:00
Amish Shah
391b618b3f
Merge branch 'indev-prism' of https://github.com/hydrabolt/discord.js into indev-prism
2017-01-08 14:12:36 +00:00
Zack Campbell
b68283e57a
Make _array & _keyArray non-enumerable ( #1075 )
...
Because Map has no enumerable properties
2017-01-08 11:59:45 +00:00