kozabrada123
a2ddafb6a1
Remove the todos from the last commit
2023-07-28 18:57:35 +02:00
kozabrada123
1f9efa98e3
Better docs
2023-07-28 18:45:40 +02:00
kozabrada123
577c8a2d71
Merge branch 'main' into fix/doc-improvements
2023-07-28 18:21:20 +02:00
Flori
fa7dd4b92b
Improve auto updating structs usage ( #168 )
...
* Add `GatewayHandle` to `UserMeta`
* Make user::shell async due to gateway add
2023-07-24 19:13:53 +02:00
SpecificProtagonist
24450571de
derive Updateable ( #167 )
2023-07-22 11:20:31 +02:00
Flori
38f0659ec9
Auto updating structs ( #163 )
...
* Gateway fields don't need to be pub
* Add store to Gateway
* Add UpdateMessage trait
* Proof of concept: impl UpdateMessage for Channel
* Start working on auto updating structs
* Send entity updates over watch channel
* Add id to UpdateMessage
* Create trait Updateable
* Add documentation
* add gateway test
* Complete test
* Impl UpdateMessage::update() for ChannelUpdate
* Impl UpdateMessage::update() for ChannelUpdate
Co-authored by: SpecificProtagonist <specificprotagonist@posteo.org>
* make channel::modify no longer mutate Channel
* change modify call
* remove unused imports
* Allow dead code with TODO to remove it
* fix channel::modify test
* Update src/gateway.rs
Co-authored-by: SpecificProtagonist <vincentjunge@posteo.net>
---------
Co-authored-by: SpecificProtagonist <vincentjunge@posteo.net>
2023-07-21 15:35:31 +02:00
kozabrada123
260dd320a8
Merge stuff
2023-07-21 14:10:50 +02:00
SpecificProtagonist
f97d26bc6c
Fix gateway heartbeat blocking ( #162 )
...
fix gateway heartbeat blocking
2023-07-21 13:59:40 +02:00
Flori
b5a8562d89
Fix: message file attachment duplication ( #159 )
...
* make send() take ownership of MessageSendSchema
* Remove message file attachment duplication
* Remove superfluous docstrings
2023-07-17 23:26:25 +02:00
Flori
7df6cb183f
Join/Leave Guilds, (Group) DMs and minor improvements ( #157 )
...
## Summary:
**Added:**
- Schemas `PrivateChannelCreateSchema` `ChannelInviteCreateSchema`, `AddChannelRecipientSchema` recursively (including schemas which were needed to create these schemas)
- Methods `create_private_channel`, `leave_guild`, `accept_invite`, `create_user_invite`, `create_guild_invite`, `add_channel_recipient`, `remove_channel_recipient`
- Integration tests for the functionality covered by implementing #45
- Documentation in some places where I noticed it would be useful to have some
- `create_user` method in `/src/tests`: Cuts down on test boilerplate needed to create an addition test user
**Changed:**
- `.gitignore`
- Added `.DS_store` files to gitignore (some weird macos files), removed Cargo.lock, as Cargo.lock should be included for libraries
- Added a lot of default trait derives like Clone, Copy, PartialEq, Eq, Ord, PartialOrd to structs and enums where I saw them missing
- Added missing `teardown()` calls to the integration tests
- Renamed integration test files in `/src/tests` dir to all be plural: `channel.rs` -> `channels.rs`
- Made more fields on `User` type `Option<>`
- All instances in `/src/tests` where a second test user was created using a RegistrationSchema and the register_user method were replaced with the new `create_user` method
- README.md: Marked roadmap fields covered by #45 as implemented
- Changed visibility of `/src/tests/common/mod.rs` methods from `pub` to `pub(crate)`. In hindsight, this was probably not required, haha
**Removed:**
- Unneeded import in`src/types/config/types/guild_configuration.rs`
## Commit log:
* Add .DS_store, remove Cargo.lock
* Create PrivateChannelCreateSchema
* pub use users
* add channels.rs
* create channels.rs
* Add Deserialize/Serialize derives
* Implement create_private_channel
* Add create_dm() test
* Make optional fields on `User` `Option<>`
* Check boxes for implemented features
* Create users/guilds.rs
* Remove unneeded import
* Add UserMeta::leave_guild()
* Create api/invites/mod.rs
* Add debug print to send_request
* Rename tests files
* Create invites.rs
* create invite.rs
* Add documentation
* Implement accept_invite
* Sort fields on Channel alphabetically
* Add invite mod
* Add forgotten teardown() at test end
* change visiblities, add create_user()
* Implement `create_user_invite()`
* start working on invite tests
* Add allow flags
* Fix bad url
* Create CreateChannelInviteSchema and friends
* remove non-implemented test code
* add body to requests
* Add Clone to UserMeta
* More comprehensive error message when running into a deserialization error
* Add arguments documentation to accept_invite
* Add Eq derive to GuildFeaturesList
* Add Eq derive to Emoji
* Add Eq derive to GuildBan
* Add create_accept_invite() test
* Add Default derive to ChannelCreateSchema
* Change create_guild_invite to return GuildInvite
* Dates as chrono::Date(Utc); sort alphabetically
* Add default derives wherever possible
* Implement add_- and remove_channel_recipient
* Create AddChannelRecipientSchema
* replace otheruser regs with bundle.creeate_user()
* Add (disabled) test remove_add_person_from_to_dm()
2023-07-17 19:36:28 +02:00
Flori
bfdf21f57f
Enable saving and loading LimitsConfiguration ( #152 )
...
Impl Serialize, Deserialize for LimitsConfiguration and children
2023-07-14 17:38:54 +02:00
SpecificProtagonist
05d51bd0bc
Deduplicate gateway dispatch event handling ( #148 )
...
deduplicate gateway dispatch event handling
2023-07-11 20:11:13 +02:00
kozabrada123
d3613702bb
Add some docs
2023-07-11 19:54:04 +02:00
kozabrada123
7cdaf35583
Merge branch 'main' into fix/doc-improvements
2023-07-11 19:24:37 +02:00
Zert3x
d5979e0024
Async Observer Trait ( #147 )
2023-07-11 19:20:27 +02:00
kozabrada123
133021a805
Rustdoc warnings + misc changes
2023-07-10 18:06:45 +02:00
kozabrada123
832cb92abc
UrlBundle slightly better docs
2023-07-10 17:22:31 +02:00
kozabrada123
282bc06cff
/* -> ///
2023-07-10 16:59:00 +02:00
Flori
8c9ccdd997
Ratelimiter overhaul ( #144 )
...
* Rename limits and limit to have better names
* Remove empty lines
* Remove handle_request (moved to requestlimiter)
* Start working on new ratelimiter
* Make limits Option, add "limited?" to constructor
* Add missing logic to send_request
* Rename Limits
* Create Ratelimits and Limit Struct
* Define Limit
* Import Ratelimits
* Define get_rate_limits
* Remove unused import
* + check_rate_limits & limits_config_to_ratelimits
* Remove Absolute Limits
These limits are not meant to be tracked anyways.
* add ratelimits is_exhausted
* Add error handling and send request checking
* change limits to option ratelimits
* Add strum
* Change Ratelimits to Hashmap
* Remove ratelimits in favor of hashmap
* Change code from struct to hashmap
* start working on update rate limits
* Remove wrong import
* Rename ChorusLibError to ChorusError
* Documented the chorus errors
* Made error documentation docstring
* Make ReceivedErrorCodeError have error string
* Remove unneeded import
* Match changes in errors.rs
* Improve update_rate_limits and can_send_request
* add ratelimits.to_hash_map()
* use instances' client instead of new client
* add LimitsConfiguration to instance
* improve update_limits, change a method name
* Fix un-updated errors
* Get LimitConfiguration in a sane way
* Move common.rs into ratelimiter::ChorusRequest
* Delete common.rs
* Make instance.rs use overhauled errors
* Refactor to use new Rate limiting implementation
* Refactor to use new Rate limiting implementation
* Refactor to use new Rate limiting implementation
* Refactor to use new Rate limiting implementation
* Refactor to use new Rate limiting implementation
* Refactor to use new Rate limiting implementation
* update ratelimiter implementation across all files
* Fix remaining errors post-refactor
* Changed Enum case to be correct
* Use result
* Re-add missing body to request
* Remove unneeded late initalization
* Change visibility from pub to pub(crate)
I feel like these core methods don't need to be exposed as public API.
* Remove unnecessary import
* Fix clippy warnings
* Add docstring
* Change Error names across all files
* Update Cargo.toml
Strum is not needed
* Update ratelimits.rs
* Update ratelimits.rs
* Bug/discord instance info unavailable (#146 )
* Change text to be more ambigous
* Use default Configuration instead of erroring out
* Emit warning log if instance config cant be gotten
* Remove import
* Update src/instance.rs
Co-authored-by: SpecificProtagonist <specificprotagonist@posteo.org>
* Add missing closing bracket
* Put limits and limits_configuration as one struct
* Derive Hash
* remove import
* rename limits and limits_configuration
* Save clone call
* Change LimitsConfiguration to RateLimits
`LimitsConfiguration` is in no way related to whether the instance has API rate limits enabled or not. Therefore, it has been replaced with what it should have been all along.
* Add ensure_limit_in_map(), add `window` to `Limit`
* Remove unneeded var
* Remove import
* Clean up unneeded things
Dead code warnings have been supressed, but flagged as FIXME so they don't get forgotten. Anyone using tools like TODO Tree in VSCode can still see that they are there, however, they will not be shown as warnings anymore
* Remove nested submodule `limit`
* Add doc comments
* Add more doc comments
* Add some log messages to some methods
---------
Co-authored-by: SpecificProtagonist <specificprotagonist@posteo.org>
2023-07-09 18:38:02 +02:00
kozabrada123
ce359103da
Use log instead of prints
2023-07-01 19:29:50 +02:00
Vincent Junge
2e9d4caee5
require password to log in
2023-06-25 22:34:05 +02:00
Vincent Junge
9ccc08b5e2
remove client side validation
2023-06-25 11:36:37 +02:00
Flori Weber
70aaa238e3
Make ReactionMeta::get() return Vec<PublicUser>
2023-06-23 12:54:08 +02:00
Flori Weber
f6d6daf1d2
Fix stupid multi line comments
2023-06-23 12:18:22 +02:00
Flori
fe0c09b0e9
Merge pull request #130 from polyphony-chat/refactor/change-channel-modify
...
Refactor/change channel modify
2023-06-22 20:05:15 +02:00
Flori Weber
0aac291a3c
Remove wrongful match statement
2023-06-22 19:54:39 +02:00
Flori
f554244143
Update src/api/channels/channels.rs
...
Co-authored-by: SpecificProtagonist <specificprotagonist@posteo.org>
2023-06-22 19:42:07 +02:00
Flori Weber
1e0783e30e
Make Channel::modify() take &mut self
2023-06-22 18:56:16 +02:00
Vincent Junge
f2709492de
always use Snowflakes in args
2023-06-22 18:55:19 +02:00
Vincent Junge
4117bcff59
ChorusResult type alias
2023-06-21 21:39:22 +02:00
Vincent Junge
8d7e49f3c2
get channel messages
2023-06-21 14:46:45 +02:00
Flori Weber
e7eee4808e
Change send_request() calls to pass &mut Instance
2023-06-20 22:42:42 +02:00
Flori Weber
2233063d5f
Use Instance.client instead of creating a new one.
2023-06-20 22:42:08 +02:00
Flori Weber
27047ab909
Add reqwest::Client to chorus::Instance.
2023-06-20 22:41:31 +02:00
Flori Weber
3958f049ea
Change to single-line docstring
2023-06-20 22:36:39 +02:00
Flori Weber
0a523d54c1
Multiline docstring to single line docstring
2023-06-20 22:30:42 +02:00
Flori Weber
1fc38b25bf
Merge branch 'main' into refactor/reuse-reqwest-client
2023-06-20 22:21:08 +02:00
Flori Weber
915c9be4ad
Change docstring from multi- to singleline
2023-06-20 22:20:06 +02:00
Flori
6e50292f71
Merge pull request #122 from SpecificProtagonist/winter
...
More consistent use of snowflakes
2023-06-20 22:16:54 +02:00
Vincent Junge
9429bd7772
more consistent use of snowflakes
2023-06-20 22:03:29 +02:00
Flori
9725b165dd
Merge pull request #121 from polyphony-chat/fix/cannot-connect-to-discord
...
Remove unnecessary things
2023-06-20 21:54:53 +02:00
Flori
304cb6076a
Merge pull request #114 from SpecificProtagonist/snowflake
...
Simplify Snowflake
2023-06-20 18:57:25 +02:00
Flori
dcacfacda9
Merge pull request #117 from SpecificProtagonist/gateway-event
...
Simplify GatewayEvent
2023-06-20 18:57:13 +02:00
kozabrada123
b8d7030ab1
Change Option<ChorusLibError> to Result<(), ChorusLibError>
2023-06-20 18:26:30 +02:00
Vincent Junge
04c3ee56e9
simplify GatewayEvent
2023-06-20 16:12:13 +02:00
Vincent Junge
f614e93892
UrlBundle remove getters
2023-06-20 12:29:52 +02:00
Vincent Junge
29fcdfe641
simplyfy Snowflake
2023-06-20 12:21:22 +02:00
Flori Weber
be7b9616c2
Remove unnecessary things
2023-06-20 00:35:46 +02:00
Flori Weber
603c8c8150
apply clippy suggestions
2023-06-19 19:01:18 +02:00
Flori Weber
17223d338a
change post to delete
2023-06-19 18:12:09 +02:00
Flori Weber
06b4f5fb65
Add Eq, PartialEq derives
2023-06-19 18:12:01 +02:00
Vincent Junge
de5fe8aebf
Fix clippy::await_holding_refcell_ref false positives
2023-06-19 16:46:58 +02:00
Flori Weber
b8e8a1c23a
Fix build failing
2023-06-19 16:11:53 +02:00
Vincent Junge
cadf14ba6a
Make MessageSendSchema fields public
2023-06-19 14:21:27 +02:00
Vincent Junge
37de1d7b06
Fix various Clippy lints
2023-06-19 12:35:07 +02:00
Flori Weber
a05241dd8e
Add remove_relationship
2023-06-18 23:10:29 +02:00
Flori Weber
6d8e0aaa39
Remove unneccessary imports
2023-06-18 23:04:25 +02:00
Flori Weber
636cb4c751
Add modify_user_relationship
2023-06-18 23:02:49 +02:00
Flori Weber
6878fd0380
Fix errors not displayed, add InvalidArgumentsErr
2023-06-18 23:01:38 +02:00
Flori Weber
4829845512
Move FriendRequestSchema to schemas
2023-06-18 19:05:09 +02:00
Flori Weber
191dc34933
Create relationship schemes
2023-06-18 19:04:55 +02:00
Flori Weber
0460a67bdd
Change returns, add documentation
2023-06-18 15:39:52 +02:00
Flori Weber
fc6b431ad8
Start implementing get_relationship
2023-06-18 14:00:12 +02:00
Flori Weber
cd303b0fef
Add FriendRequestSendSchema
2023-06-15 19:01:01 +02:00
Flori Weber
e971ed2b49
Implement send_friend_request
2023-06-15 19:00:47 +02:00
Flori Weber
8378c5ccb6
Add get_mutual_relationships
2023-06-14 22:54:14 +02:00
Flori Weber
6312bd3572
Change belongs_to to be borrowed non-mutably
2023-06-14 22:53:56 +02:00
Flori Weber
b56b5f5f12
Format relationships.rs
2023-06-14 22:14:56 +02:00
Flori Weber
2a8a8d75d3
Add relationships.rs
2023-06-14 22:14:48 +02:00
Flori Weber
870d5606a0
Update link reference
2023-06-13 15:23:39 +02:00
Flori Weber
dfec24b8b8
Update relationship.rs types
2023-06-13 15:23:06 +02:00
Flori Weber
bcc4069cea
Create relationships.rs
2023-06-13 14:04:58 +02:00
Flori Weber
c6dcfff6a8
Create relationships.rs
2023-06-13 14:04:39 +02:00
bitfl0wer
8de2d3b5c3
run cargo fix
2023-06-12 18:59:06 +02:00
bitfl0wer
550d6d9265
run cargo fix
2023-06-12 18:58:53 +02:00
bitfl0wer
1aad39ded1
Remove unneccessary variable
2023-06-12 18:55:27 +02:00
bitfl0wer
98a043ab30
Refactor limited requester
...
The requester does not need to be instantiated anymore, which makes things easier to read imo.
2023-06-12 18:51:54 +02:00
Flori Weber
1910649ac4
Refactor users.rs to use api::common
2023-06-11 21:40:03 +02:00
Flori Weber
43e62359ae
Refactor roles.rs to use api::common
2023-06-11 20:04:40 +02:00
Flori Weber
c03c3357fa
Refactor member.rs to use api::common
2023-06-11 19:30:15 +02:00
Flori Weber
3f8724535e
Refactor guilds.rs to use api:common
2023-06-11 19:26:34 +02:00
Flori Weber
f6da3dcacf
Use handle_request_as_option instead
2023-06-11 19:22:28 +02:00
Flori Weber
3a8b6c8629
Introduce handle_request_as_option
2023-06-11 19:22:10 +02:00
Flori Weber
fac9937bdd
Refactor reactions to use api::options
2023-06-11 19:13:38 +02:00
Flori Weber
c479db36fb
Refactor permissions.rs to use api::common
2023-06-11 17:56:29 +02:00
Flori Weber
90ad75ae30
Remove import
2023-06-11 17:51:26 +02:00
Flori Weber
ce004b3863
Refactor Message::send()
2023-06-11 17:49:42 +02:00
Flori Weber
583031e64f
Make some fields Option enum
2023-06-11 17:49:30 +02:00
Flori Weber
59d512cdce
Refactor to use api common, return Message instead
2023-06-11 17:40:44 +02:00
Flori Weber
bf005c44a4
Refactor channels.rs to use api::common
2023-06-11 17:36:04 +02:00
Flori Weber
5d039c3e9b
Add argument to specify which LimitType to use
2023-06-11 17:35:47 +02:00
Flori Weber
9449c4cd4d
Move common request code into common.rs
2023-06-11 17:21:09 +02:00
Flori Weber
ebe8a054e0
Merge branch 'main' into feature/permissions-and-roles
2023-06-11 15:34:43 +02:00
Flori Weber
3f7bf0c912
create common.rs
2023-06-11 15:34:05 +02:00
kozabrada123
dc5e91a784
Reformat and cargo fix
2023-06-11 14:32:37 +02:00
Flori Weber
8b8ea03513
Cargo fix
2023-06-11 13:55:00 +02:00
Flori Weber
41135d037f
Cargo fix
2023-06-11 13:54:54 +02:00
Flori Weber
f585e0ddae
Reformat entire project, optimize imports
2023-06-11 13:52:53 +02:00
Flori Weber
f4e0d520b1
Reformat entire project, optimize imports
2023-06-11 13:52:31 +02:00
kozabrada123
f5bbd3d737
Merge branch 'main' into perpetual/gateway-dev
2023-06-11 09:10:03 +02:00
bitfl0wer
6952f9977f
Implement delete_permission
2023-06-10 22:16:53 +02:00
bitfl0wer
87e70181fb
impl Channel::edit_permissions()
2023-06-10 22:09:53 +02:00
bitfl0wer
48a063838b
Create permissions.rs
2023-06-10 21:51:45 +02:00
Flori Weber
e5aff12f94
"Normalize" RolePositionUpdateSchema
2023-06-10 19:35:57 +02:00
Flori Weber
5b66464ce9
Better error handling in get methods.
2023-06-10 18:50:49 +02:00
Flori Weber
a9b02bad78
Implement RoleObject::get()
2023-06-10 18:48:37 +02:00
Flori Weber
9a6ac33a40
Add RoleObject::update()
2023-06-10 18:42:37 +02:00
kozabrada123
94ec90b924
Implement display for UserStatus
2023-06-10 16:56:50 +02:00
kozabrada123
330a4347d3
turns out UpdatePresence and PresenceUpdate are different events
2023-06-10 16:32:42 +02:00
kozabrada123
57d2d93420
Change observer update ref to &mut from &
2023-06-10 15:37:02 +02:00
Flori Weber
d5e38d954f
Implement GuildMember::get()
2023-06-10 15:16:45 +02:00
kozabrada123
a148cf576e
Refactor, better deserialization error handling
2023-06-10 12:43:07 +02:00
kozabrada123
0b06f914e3
Merge branch 'main' into perpetual/gateway-dev
2023-06-10 10:30:54 +02:00
bitfl0wer
a18eab1884
Change UserMeta: User instead of Option<User>
...
I do not know why I have made it optional in the first place. hm
2023-06-10 00:35:51 +02:00
bitfl0wer
30db9e9553
implement GuildMember::remove_role()
2023-06-10 00:10:12 +02:00
bitfl0wer
3d98b45413
Implement GuildMember::add_role()
2023-06-10 00:03:31 +02:00
bitfl0wer
daf30ddde6
create member.rs
2023-06-09 23:41:40 +02:00
bitfl0wer
7aa948647a
Add from_vec()
...
Calculates a PermissionFlags Stirng from a Vec<PermissionFlags>.
2023-06-09 21:34:54 +02:00
bitfl0wer
7a0a9baa45
Remove unused import
2023-06-09 20:49:02 +02:00
bitfl0wer
486e210062
Move role schemas to own file
2023-06-09 20:47:45 +02:00
kozabrada123
5231656c68
Docs + unneeded &mut
2023-06-09 20:22:59 +02:00
kozabrada123
28877f8355
Discord.com sends premissions as an integer
2023-06-09 18:38:36 +02:00
kozabrada123
182cd45a15
Rebase
2023-06-09 18:14:20 +02:00
bitfl0wer
d475584fea
Implement RoleObject::position_update()
2023-06-09 16:50:03 +02:00
bitfl0wer
9bf968c7e0
Change Role to have String over PermissionFlags
...
PermissionFlags implementation needs to be figured out a bit better before we can use it here.
2023-06-09 12:04:49 +02:00
bitfl0wer
fc66036674
Add documentation
2023-06-08 22:39:06 +02:00
bitfl0wer
30cfb3b744
Implement RoleObject::create()
2023-06-08 22:26:24 +02:00
bitfl0wer
1c5be5693e
Add FormCreationError
2023-06-08 22:26:08 +02:00
bitfl0wer
9f21c06492
Change InstanceServerError to ChorusLibError
...
The name InstanceServerError was chosen without thinking about it too much, very early in development. The new name suits this custom Error type way better, in my opinion.
2023-06-08 22:16:23 +02:00
bitfl0wer
bac097fb2e
Add RolePositionUpdateSchema
2023-06-08 20:45:56 +02:00
bitfl0wer
4993b7bac8
Change struct name
...
This schema is being used as a RoleModifySchema AND as a RoleCreationSchema.
2023-06-08 20:43:29 +02:00
bitfl0wer
a1a4532b57
Add misssing attribute
2023-06-08 20:42:40 +02:00
bitfl0wer
c31d2aa76d
Add RoleCreateSchema
2023-06-08 20:40:36 +02:00
kozabrada123
e6af81d694
Basic tests
2023-06-08 19:51:32 +02:00
kozabrada123
cae038af8f
Refactor
2023-06-08 18:24:11 +02:00
kozabrada123
0f4eef2fb9
Merge branch 'main' into perpetual/gateway-dev
2023-06-08 17:35:17 +02:00
kozabrada123
f4f17f7454
Gateway basic error handling
2023-06-08 17:34:52 +02:00
bitfl0wer
429db9332b
cargo fix
2023-06-07 23:06:52 +02:00
bitfl0wer
0097809049
Remove unnecessary imports
2023-06-07 23:03:37 +02:00
bitfl0wer
32503078d7
Implement RoleObject::get_all()
2023-06-07 23:03:24 +02:00
bitfl0wer
afe9663ded
Create roles.rs
2023-06-07 23:03:07 +02:00
bitfl0wer
97ca0c17eb
Try making permissions to PermissionFlags
2023-06-07 22:44:16 +02:00
bitfl0wer
6c0d21867c
Sort fields on Guild alphabetically
2023-06-07 22:40:48 +02:00
bitfl0wer
5b7bfa4a5d
Make enum into bitflags struct
2023-06-07 10:39:05 +02:00
bitfl0wer
7a1021031e
Fix enum, add has_permission() for RoleObject
2023-06-06 21:38:28 +02:00
bitfl0wer
e2c80fc1f8
Make enum pub
2023-06-06 20:10:50 +02:00
bitfl0wer
6d2db3d808
Add PermissionFlags
2023-06-06 20:05:34 +02:00
bitfl0wer
7a3f485580
Add reference to docs
2023-06-04 14:41:24 +02:00
bitfl0wer
471abc88a6
Add method to remove own reaction
2023-06-04 14:39:22 +02:00
bitfl0wer
fd2b9e670f
improve existing documentation
2023-06-04 14:32:57 +02:00
bitfl0wer
213220c8e0
Add delete_user method
2023-06-04 14:29:43 +02:00
bitfl0wer
47d1c52014
Change file structure
2023-06-04 14:20:06 +02:00
kozabrada123
7d17a1c976
Implement Clone for all events
2023-06-04 13:49:35 +02:00
kozabrada123
ca9f7f6c11
Merge branch 'main' into perpetual/gateway-dev
2023-06-04 10:18:16 +02:00
bitfl0wer
6b8d458eb4
Move some pieces of documentation to where they make the most sense
2023-06-03 22:34:03 +02:00
bitfl0wer
f2de0f8813
Make reference links clickable in cargo doc
2023-06-03 22:15:03 +02:00
bitfl0wer
5967858e81
Add references
2023-06-03 22:08:56 +02:00
bitfl0wer
3722536de2
Add create reaction with documentation
2023-06-03 22:07:37 +02:00
bitfl0wer
5b579c551a
Add delete_emoji method with documentation
2023-06-03 20:17:21 +02:00
bitfl0wer
02db71055c
Add documentation
2023-06-03 18:59:13 +02:00
bitfl0wer
4f91f26a28
Add reactions: get
2023-06-03 18:53:53 +02:00
bitfl0wer
fab9bc1c62
Implement reactions: delete all
2023-06-03 18:46:36 +02:00
bitfl0wer
addfb01075
Add ReactionMeta struct
2023-06-03 15:21:49 +02:00
kozabrada123
63ae7feb8a
Features is not always sent
2023-06-02 11:00:34 +02:00
kozabrada123
a49bdd8456
Merge branch 'perpetual/gateway-dev' of https://github.com/polyphony-chat/chorus into perpetual/gateway-dev
2023-06-02 10:58:22 +02:00
kozabrada123
e846b2b423
fmt
2023-06-02 10:58:04 +02:00
kozabrada123
611ee800ba
Handle Heartbeat ACKs
2023-06-02 10:57:47 +02:00
kozabrada123
28a92212b6
Handle Heartbeat requests
2023-06-02 10:42:19 +02:00
bitfl0wer
e4a185dce5
Create reactions.rs
2023-06-01 21:14:11 +02:00
bitfl0wer
4bdecb0a6c
Remove mod
2023-06-01 21:14:02 +02:00
Flori
b87ac84f61
Merge pull request #83 from polyphony-chat/refactor/less-boilerplate
...
Refactor/less boilerplate
2023-05-30 23:11:47 +02:00
bitfl0wer
dc40c69ebe
Refactored users() as much as possible
2023-05-30 23:04:22 +02:00
Zertex
5a9a156846
make the tests pass
2023-05-30 10:57:34 -04:00
Zert3x
25a0544822
Merge branch 'main' into refactor/rename-apierror
2023-05-29 22:25:02 -04:00
bitfl0wer
b1dbc53049
Refactor channels()
2023-05-29 23:59:13 +02:00
bitfl0wer
3cebafecf6
Refactor create
2023-05-29 23:57:23 +02:00
bitfl0wer
d8d3bf5be6
Refactor delete()
2023-05-29 23:51:12 +02:00
bitfl0wer
96ace34137
Refactor create() and get()
2023-05-29 23:46:43 +02:00
bitfl0wer
e03c51658d
Remove unnecessary lifetime
2023-05-29 23:46:17 +02:00
bitfl0wer
eaf45274a6
Refactor Guild create
2023-05-29 23:16:43 +02:00
bitfl0wer
1e79a1a7ab
Refactor message::send()
2023-05-29 23:15:05 +02:00
bitfl0wer
a12573fe1c
Refactor modify() to take less boilerplate args
2023-05-29 23:11:12 +02:00
bitfl0wer
808224d4fb
Refactor delete() to take less boilerplate args
2023-05-29 23:08:52 +02:00
bitfl0wer
001dc9f80c
Refactor get() to take less boilerplate args
2023-05-29 23:01:17 +02:00
bitfl0wer
f18d3d7707
Add clone, default derives
2023-05-29 18:50:19 +02:00
bitfl0wer
a7fd29c7f1
Make all attributes pub
2023-05-29 18:34:08 +02:00
bitfl0wer
05bc4a4647
Add modify()
2023-05-29 18:27:30 +02:00
bitfl0wer
0048e548f5
Add ChannelModifySchema
2023-05-29 18:27:15 +02:00
Flori
9c258067e8
Merge pull request #81 from polyphony-chat/feature/channel/delete
...
Feature/channel/delete
2023-05-29 17:56:13 +02:00
bitfl0wer
5a40da1cd6
Implement User methods on User instead of UserMeta
2023-05-29 17:25:34 +02:00
kozabrada123
b83dd916e8
Fix typo
2023-05-29 17:18:52 +02:00
kozabrada123
90ebc823ba
Fix some errors caused by the observer return fix
2023-05-29 17:11:08 +02:00
bitfl0wer
7f8abceab5
Made Guild::create return Guild instead of String.
...
This makes way more sense, I think.
2023-05-29 16:50:10 +02:00
bitfl0wer
fee0aa966a
Changed some apparently incorrect attributes
...
Some attributes are not necessarily returned by the GET route for a guild. Also, some integers were too small. One example is max_video_channel_users, which was a u8, but could theoretically be a value much higher than u8::MAX.
2023-05-29 16:49:36 +02:00
bitfl0wer
b2b5930db0
Remove print statement
2023-05-28 23:08:13 +02:00
bitfl0wer
135782da9f
Remove print statement
2023-05-28 23:08:05 +02:00
bitfl0wer
7b7dbb9b5e
Create channels() for Guild
...
This method retrieves all channels from a guild
2023-05-28 23:04:35 +02:00
bitfl0wer
897c269e98
Make delete use self
2023-05-28 23:04:13 +02:00
bitfl0wer
5db5a2562f
Add InvalidResponseError
2023-05-28 23:04:02 +02:00
bitfl0wer
2ba1e1ac84
Add documentation
2023-05-28 22:40:37 +02:00
bitfl0wer
69b6efe200
Make channel delete take ownership of a Channel
2023-05-28 22:39:38 +02:00
bitfl0wer
268da9525c
Add channel delete method
2023-05-28 22:39:25 +02:00
kozabrada123
c4a6b85e1e
Fix weird observer subscribe return
2023-05-28 17:37:05 +02:00
kozabrada123
982e85af9e
u16 is too small for flags apparently
2023-05-28 17:36:30 +02:00
kozabrada123
61a54678cb
Members is optional
2023-05-28 17:36:12 +02:00
kozabrada123
a1a0c94e2d
agjbg??!
2023-05-28 14:52:48 +02:00
kozabrada123
dfa047a9c5
71 conflicts due to fmt?!?!?!?!
2023-05-28 14:52:08 +02:00
kozabrada123
b6061b7bf5
Gateway opcode constants and small refactor
2023-05-28 14:39:41 +02:00
kozabrada123
304ff014e3
More stability
2023-05-28 08:43:22 +02:00
Zertex
de10ccbed7
Hijack this to make User::flags pub
2023-05-28 02:42:35 -04:00
Zertex
bab1f0ed52
Add custom implementation to allow simple-array behaviour for GuildFeatures
2023-05-28 02:42:09 -04:00
Zertex
73790fbf2a
Change integer datatypes to be 'i32' as required by sqlx
2023-05-28 02:39:24 -04:00
kozabrada123
504d74a715
Stability, new event
2023-05-28 08:18:50 +02:00
Zertex
c300f1918c
merge main
2023-05-27 19:54:43 -04:00
bitfl0wer
77ae3f10b6
run cargo fmt && cargo fix
2023-05-28 00:50:52 +02:00
bitfl0wer
503edf2fac
Move test to tests-dir
2023-05-27 22:51:43 +02:00
bitfl0wer
1e844445fc
Remove empty test
2023-05-27 22:47:46 +02:00
bitfl0wer
8ea0cc3f3f
Make password optional
2023-05-27 22:46:43 +02:00
bitfl0wer
927109e9b6
Move tests to tests/-dir
2023-05-27 22:46:27 +02:00
bitfl0wer
a7d092fc3a
Fix build
2023-05-27 20:54:43 +02:00
bitfl0wer
0504f0a9d2
Merge branch 'refactor/application-default'
2023-05-27 20:46:19 +02:00
kozabrada123
f54e750f74
Add options with empty string for identify props
2023-05-27 19:55:57 +02:00
Zertex
80e60901d8
uncomment, oops
2023-05-27 13:50:55 -04:00
Zertex
665a3b3667
rename APIError in ErrorField vec as well
2023-05-27 13:50:28 -04:00
Zertex
7189294d4b
Hijack this to clean up ApplicationCommandOptionType with serde_repr
2023-05-27 13:46:37 -04:00
Zertex
250035fe9e
Add custom Default impl to Application
2023-05-27 13:45:56 -04:00
Zertex
6d747bc504
Rename APIError -> APIErrorPayload to solve conflicting name
2023-05-27 13:41:23 -04:00
bitfl0wer
da9232da0b
Fix typos
2023-05-27 19:36:07 +02:00
kozabrada123
a26ded8ab2
Merge branch 'main' into feature/full-gateway-coverage
2023-05-27 19:23:27 +02:00
Zertex
7a487c657c
remove message field
2023-05-27 11:40:20 -04:00
kozabrada123
f8c02fee6a
Remove dumping gateway events into stdout
2023-05-27 17:33:19 +02:00
kozabrada123
4a7fea8366
Better unrecognised messages
2023-05-27 17:31:55 +02:00
kozabrada123
be73bf19eb
Add Application Command Permissions & Update event
2023-05-27 17:29:30 +02:00
kozabrada123
15ffdcecaa
Add InteractionCreate
2023-05-27 17:11:47 +02:00
kozabrada123
5b04370d46
Add Stage Instance & events
2023-05-27 17:05:25 +02:00
kozabrada123
8d0083e11d
Add Auto Moderation types & events
2023-05-27 16:50:38 +02:00
kozabrada123
ab902c5ef2
Add Relationship & related events
2023-05-27 16:03:23 +02:00
kozabrada123
7367475d99
Add "Discord Client" option
2023-05-27 13:16:40 +02:00
kozabrada123
b11743d35c
Document more gateway props options
2023-05-27 13:05:59 +02:00
kozabrada123
224b3159a6
Fix some deserialization errors
2023-05-27 13:05:36 +02:00
kozabrada123
21c4d53b28
Fix a types mismatch
2023-05-27 09:58:10 +02:00
kozabrada123
b102f3d2cc
Fix stack overflow due to infinite recursion
...
I am dumb
2023-05-27 09:57:46 +02:00
kozabrada123
5b08ddfcfb
Add a sensible defaults for Identify and its props
2023-05-27 09:21:26 +02:00
Zertex
5e000f3617
Revert "Add back settings and extended_settings fields to User"
...
This reverts commit 3018c0ddd1
.
2023-05-27 00:24:37 -04:00
Zertex
9974d90416
Revert "fix imports"
...
This reverts commit 13c2e4aed9
.
2023-05-27 00:24:32 -04:00
Zertex
13c2e4aed9
fix imports
2023-05-27 00:12:05 -04:00
Zertex
3018c0ddd1
Add back settings and extended_settings fields to User
2023-05-27 00:07:07 -04:00
Zertex
b8e5b627de
Add PartialEq, Clone, Copy to Component
2023-05-26 22:44:43 -04:00
Zertex
342354a06b
Add forgotten derives to UnvailableGuild/GuildCreateResponse
2023-05-26 22:38:39 -04:00
Zertex
185480b0be
Add forgotten feature lock to UserTheme
2023-05-26 22:38:16 -04:00
Zertex
0bdae8f7e3
Add forgotten derives to Emoji
2023-05-26 22:37:20 -04:00
Zertex
bbefab926c
Extract private fields to symfonia, type lock fields
2023-05-26 22:29:20 -04:00
Zertex
1420ba1696
serde(skip) ids where full objects are returned
2023-05-26 16:24:42 -04:00
Zertex
86dcfb2c3b
serde(skip) ids where full objects are returned
2023-05-26 16:23:33 -04:00
Zertex
8fcd64f87d
Flesh out and properly feature lock fields on Attachment
2023-05-26 16:00:15 -04:00
Zertex
b885e13922
Flesh out and properly feature lock fields on Application
2023-05-26 15:25:40 -04:00
Zertex
297ef50b36
Add feature locks to Emoji
2023-05-26 14:09:03 -04:00
Zertex
986caf1110
Add feature locks to Channel
2023-05-26 14:08:53 -04:00
kozabrada123
94e9af8e8a
Types refactor
2023-05-26 19:47:41 +02:00
kozabrada123
013943791b
Types refactor merged
2023-05-26 19:36:41 +02:00
Zertex
0d5e592ea4
Simplify locks
2023-05-26 11:54:07 -04:00
Zertex
02d1cc3b97
Simplify locks
2023-05-26 11:44:02 -04:00
Zertex
d00f21cd3f
Un-lock mod errors
2023-05-26 10:23:11 -04:00
Zertex
38503aea57
Lock client specific code behind feature
2023-05-26 10:16:08 -04:00
Zertex
113db7575d
Convert Channel::guild_id to Snowflake
2023-05-26 09:59:36 -04:00
Zertex
f964a2d303
Serde_repr on ChannelType
2023-05-26 09:58:13 -04:00
bitfl0wer
e3b4d3c56d
remove internal only attributes
2023-05-26 13:17:27 +02:00
bitfl0wer
c214c8bd73
Prettify imports, remove outdated types/schemas
2023-05-26 12:59:32 +02:00
bitfl0wer
47b8960d15
Run cargo fix
2023-05-26 12:53:57 +02:00
bitfl0wer
96c7c129f2
Finish refactor
2023-05-26 12:50:16 +02:00
bitfl0wer
513e2b0394
start porting over new types folder
2023-05-25 23:09:18 +02:00
bitfl0wer
5dc1441ac6
Integrate polyphony-types into chorus
2023-05-25 21:11:08 +02:00
kozabrada123
c8dcc2df35
Build error after merge fixed
2023-05-24 16:27:04 +02:00
kozabrada123
fae752f0ec
Merge branch 'main' into feature/full-gateway-coverage
2023-05-24 16:23:00 +02:00
kozabrada123
69e8c54136
Merge main / rebase + merge conflict fix
2023-05-24 16:22:22 +02:00
bitfl0wer
d762a25953
Move Channels::get() to channels.rs
2023-05-23 16:28:25 +02:00
bitfl0wer
377e619f77
Create channels.rs
2023-05-23 16:28:09 +02:00
bitfl0wer
fc1993894d
Fix: Used wrong rout to retrieve singular channel
2023-05-23 16:25:08 +02:00
bitfl0wer
cdd0465a05
Make Channel type derive Eq, PartialEq recursively
2023-05-23 15:25:32 +02:00
bitfl0wer
cc332847fb
Revert "Add ChannelType enum"
...
This reverts commit d100308dfd
.
2023-05-23 15:17:04 +02:00
bitfl0wer
de9040de80
try flattening the enum to fix CI
2023-05-23 15:10:56 +02:00
bitfl0wer
0c22e241fa
Add todo
2023-05-23 14:51:28 +02:00
bitfl0wer
d100308dfd
Add ChannelType enum
2023-05-23 14:50:48 +02:00
bitfl0wer
71d5c229cf
Replace URL in errors with full route URL
2023-05-23 14:38:03 +02:00
bitfl0wer
8808e5554f
Implement get() for channel
2023-05-23 14:37:34 +02:00
bitfl0wer
9afce452a6
Start working on get() channel route
2023-05-23 14:31:21 +02:00
bitfl0wer
b910f44e90
Change create channel method to return Channel
...
Previously returned a Response object.
2023-05-23 13:50:39 +02:00
bitfl0wer
6af16490ab
Implement create channel methods
2023-05-23 13:06:09 +02:00
bitfl0wer
8d66e7d90d
start working on channel create
2023-05-22 23:22:34 +02:00
kozabrada123
c56dc42cd7
Add Voice StateUpdate and ServerUpdate events
2023-05-22 18:42:12 +02:00
kozabrada123
27ff0116d6
Add GuildScheduledEvent Events (pt 2)
2023-05-22 16:46:49 +02:00
kozabrada123
115c5ab29f
Add GuildScheduledEvent Events
2023-05-22 16:43:06 +02:00
kozabrada123
128f66c100
Remove unused
2023-05-22 15:57:37 +02:00
kozabrada123
68e47f03e7
Merge branch 'main'
2023-05-22 13:30:19 +02:00
bitfl0wer
301ac320c6
move integration test from guild to integration.rs
2023-05-21 16:02:54 +02:00
bitfl0wer
849acf798e
Add delete() to User
2023-05-21 15:05:02 +02:00
bitfl0wer
825c822791
Fix 'already borrowed: BorrowMutError'
2023-05-20 23:21:24 +02:00
bitfl0wer
3f27df7ac4
Replace &mut Instance with Rc<RefCell<Instance>>
...
Replace &mut Instance with Rc<RefCell<Instance>> on the User struct to represent the 1:n relation of Instance:User
2023-05-20 23:10:25 +02:00
kozabrada123
9ee0b51757
Add Guild Audit Log Entry Create
2023-05-20 13:03:44 +02:00
kozabrada123
5550186ca3
Add Invite Create & Delete
2023-05-20 12:50:05 +02:00
kozabrada123
c2320b263b
Add Passive Update V1
2023-05-20 09:35:48 +02:00
kozabrada123
d18ac32d20
Duplicate VoiceState
2023-05-20 08:59:14 +02:00
kozabrada123
ea4dfc82d5
Update dependencies, deserialize errors
2023-05-20 08:39:02 +02:00
kozabrada123
78ab26b9ad
Merge pull request #60 from polyphony-chat/main
...
Rebase feature/fgc
2023-05-20 08:37:34 +02:00
kozabrada123
dad2ad3bec
Solve deserialization problem semi optimally
2023-05-17 18:16:47 +02:00
kozabrada123
048a74f0d1
Revert "Deserialize from String" (Ugh)
...
This reverts commit 3b21445e34
.
If course I can't just do that, ugh
Keeping the formatting would require using RawValue, but as we use one struct for sending an recieving, having to make RawValue to send would be pretty dumb
2023-05-17 17:24:29 +02:00
kozabrada123
3b21445e34
Deserialize from String instead of Value
2023-05-17 17:03:03 +02:00
kozabrada123
2b22c50a89
Some minor changes
2023-05-17 16:24:04 +02:00
bitfl0wer
0c22571660
Implement modify(), untested as of now
2023-05-16 15:59:23 +02:00
bitfl0wer
8e58f7a54d
Add UserModifySchema
2023-05-16 15:59:06 +02:00
bitfl0wer
d17c046480
Add PasswordRequiredError
2023-05-16 15:58:51 +02:00
bitfl0wer
44f27f7a0e
Start working on User::modify().
2023-05-15 23:20:23 +02:00
kozabrada123
30aeb26cfd
Fix spelling mistake, add minor docs
2023-05-15 20:54:16 +02:00
kozabrada123
28d3a7d924
Fix some deser errors, add CHANNEL_UNREAD_UPDATE
2023-05-15 20:45:33 +02:00
kozabrada123
4a8cff6fd9
Merge pull request #58 from polyphony-chat/main
...
Bring full-gateway-coverage up to date from main
2023-05-15 12:42:06 +00:00
bitfl0wer
5e6a5e946e
remove accidental doctests
2023-05-14 22:47:34 +02:00
bitfl0wer
48cd701fbe
make fields on GuildCreateSchema pub
2023-05-14 22:45:55 +02:00
bitfl0wer
8f8bd641c4
add type guildcreateresponse
2023-05-14 22:45:42 +02:00
bitfl0wer
c0602b4158
Remove unused import
2023-05-14 22:45:31 +02:00
bitfl0wer
ad09bfca40
Change function signatures, add tests
2023-05-14 22:45:18 +02:00
kozabrada123
02570b8c91
Fix some gateway deserialization errors
2023-05-14 19:55:43 +02:00
kozabrada123
c7dea3a81b
Add some Guild, Integration and Webhook events
2023-05-14 15:55:20 +02:00
kozabrada123
ac38963c0e
Add session, guild event types
2023-05-14 15:37:30 +02:00
bitfl0wer
269d73ce87
Add guild delete route
2023-05-14 14:16:21 +02:00
kozabrada123
cb30e1b904
Merge branch 'feature/full-gateway-coverage' into feature/rest-of-discord-types
2023-05-14 12:05:26 +00:00
kozabrada123
1930229a90
Add Readies to Events, try to fix msg_create error
2023-05-14 14:03:18 +02:00
bitfl0wer
190def95da
Add RateLimit information
2023-05-14 13:12:02 +02:00
bitfl0wer
e3c40356bc
impl ToString for LimitType
2023-05-14 13:11:50 +02:00
bitfl0wer
3de820062b
Improve error handling on request sending
2023-05-14 13:07:46 +02:00
bitfl0wer
5a41eda295
Merge branch 'feature/rest-of-discord-types' into feature/guild-creation-deletion
2023-05-14 12:55:39 +02:00
bitfl0wer
101c95d909
Remove duplicate VoiceState
2023-05-14 12:55:19 +02:00
bitfl0wer
7f459c6c4f
Merge branch 'feature/rest-of-discord-types' into feature/guild-creation-deletion
2023-05-14 12:52:25 +02:00
bitfl0wer
7c0c95690d
Add full Guild type
2023-05-14 12:40:31 +02:00
kozabrada123
e641ab0bbd
Flatten, new events
2023-05-14 11:43:17 +02:00
kozabrada123
1e3ea8a072
Add call update and delete
2023-05-14 08:39:23 +02:00
kozabrada123
5bece07ab7
Add more events, fix deserialization errors
2023-05-14 08:20:25 +02:00
bitfl0wer
8503bdbd80
remove get()
2023-05-13 23:45:49 +02:00
bitfl0wer
0d00215ebf
start implementing get()
2023-05-13 23:15:28 +02:00
bitfl0wer
a9ef578f70
Add documentation
2023-05-13 22:55:17 +02:00
bitfl0wer
8dce270343
Implement Guild::create()
2023-05-13 22:14:53 +02:00
bitfl0wer
72a4d57aff
Add GuildCreateSchema as per Spacebar Docs
2023-05-13 22:11:06 +02:00
bitfl0wer
fe5beee228
Update docs, remove panic in favor of Err Result
2023-05-13 22:10:46 +02:00
bitfl0wer
81c4402f32
Remove panic on send_request error
2023-05-13 22:06:44 +02:00
kozabrada123
ae1271d828
Add Stage Instance and Voice State
2023-05-13 22:01:04 +02:00
kozabrada123
7069a9e1e6
Add integrations
2023-05-13 21:50:36 +02:00
bitfl0wer
183bd0e0d2
create src/api/guilds/guilds.rs
2023-05-13 21:42:43 +02:00
kozabrada123
9963fd8a33
Add channel and thread types, start guild
2023-05-13 21:27:44 +02:00
kozabrada123
be1a358bfd
Merge branch 'polyphony-chat:main' into main
2023-05-13 14:49:53 +00:00
kozabrada123
9f8ff96d1b
Small changes for merging
2023-05-13 16:43:29 +02:00
bitfl0wer
ce84251d31
Fix tests
2023-05-13 16:42:24 +02:00