cssxsh
71e9de3608
[core] 支持获取群公告图片 URL ( #2619 )
...
* fix: announcement protocol
* add: api dump
2023-04-13 11:57:04 +01:00
Karlatemp
893fb3e9f6
[core] Make MessageSource.kind
a member not extension
2023-03-29 22:53:11 +08:00
Karlatemp
89fa2f7ffb
[core] Fix private message source target
2023-03-29 22:53:09 +08:00
Karlatemp
ec5870e0b3
[core] Get group incoming message source raw data directly
2023-03-29 22:53:00 +08:00
Karlatemp
e2d7332ac0
[core] Add QRCodeLoginListener.onCompleted
2023-03-27 00:55:54 +08:00
Him188
b9ee2a8931
[core] Commonize BotConfiguration, simplify MPP hierarchy: ( #2583 )
...
* [core] Commonize BotConfiguration, simplify MPP hierarchy:
Move platform specific API to `AbstractBotConfiguration`
* Updates docs for AbstractBotConfiguration
* Add @since for AbstractBotConfiguration
* Mark AbstractBotConfiguration as not stable for inheritance
2023-03-21 23:06:27 +00:00
cssxsh
f4fa2cabf4
[core] feat: essence message setting ( #2314 )
...
* feat: remove essence message
* feat: Essences
* add: share and remove
* fix: impl
* fix: arguments
* feat: image url to image
* add: doc
* fix: doc
* Copyright: 2023
* remove: method removeEssenceMessage
* feat: lazy load source
* add: no parse
* add: sendAndExpect try
* fix: remove throw
* fix: parse IMAGE_MD5_REGEX
2023-03-21 14:53:23 +00:00
Him188
427c37e649
[build] Update to Kotlin 1.8.10
2023-03-19 03:18:34 +00:00
StageGuard
78d0b4fd54
QRCode login support & Introduce new authorization factory ( #2502 )
...
* [core] process `wtlogin.trans_emp` to support qrcode login
* [core] fix `wtlogin.trans_emp` protocol
* [core] optimize QRCodeLoginProcessor logic
* [core] fix `wtlogin.trans_emp` outgoing packet
* [core] cancel login when logging a bot which is inconsistent from bot factory
* [core] ignore `flag3` check on ANDROID_WATCH & name `flag1` and `flag2`
* [core] provide default `QRCodeLoginListener` for jvm
* [core] don't catch IllegalStateException in QRCodeLoginProcessor
* [core] Use `LoginSolver.createQRCodeLoginListener()` instead of property; Rename configuration name
* [core] Code improvement
* [core] remove qrcode state lock
* [core] ignore `flag3` when command is `wtlogin.trans_emp` in packet codec
* [core] enable qrcode login for macos
* [core] remove debug property in log
* [core] reformat code
* [core] rename `TransEmpResponse` to `Response`
* [core] assert `flag3Exception` not null first
* [core] remove arg client
* [core] update qrcode login notes
* [core] set custom qrcode size
* [core] Draft BotAuthorization
* [core] make SecretsProtection mpp
* [core] BotAuthorization.byXXX
* [core] Move QRCodeLoginListener to `.auth`
* [core] Protect data of BotAccount
* [core] Add SelectorRequireReconnectException
* [core] Implementation of BotAuthorization
* Revert changes of BotConfiguration
* api dump
* [core] remove passwordMd5 in `BotAccount`
* [mock] Add new bot factory function to mock bot factory
* Delete LoginCommandTest
* [core] Improve QRCode render
* [core] Introduce UnsupportedCaptchaMethodException & UnsupportedQRCodeCaptchaException
* api dump
* update docs
* [core] update `DebugRunHelper`
* [core] add simple block for BotAuthorization
* api dump
* Rename `canDoQRLogin` to `supportsQRLogin`, and specify argument names for MiraiProtocolInternal
* Remove `phoneNumber` parameter from BotAccount
* Make `BotAccount.<init>` with String password parameter TestOnly
* Rename `InconsistentBotException` to `InconsistentBotIdException`
* Rename `QRCodeLoginListener.onStatusChanged` to `QRCodeLoginListener.onStateChanged`
* Rename `BotAuthorizationResult` to `BotAuthResult`
* Rename BotAuthComponent, move internal APIs to internal module
* Logic fixup
* doc update
* QRCodeLoginListener.qrCodeStateUpdateInterval & onIntervalLoop
* console login with BotAuthorization
* update testing
* Update mirai-core-api/src/jvmMain/kotlin/utils/LoginSolver.jvm.kt
* Move AuthControl outside SsoProcessor
* Redesign auth
* Add initialTicket to producerCoroutine
* Revert protocol changes of MACOS
* Fix latch death locking
* Fix CoroutineOnDemandValueScope.receiveOrNull exceptional finish
* Fix exception collecting
* Fix DefaultBotAuthorizationFactory loading
* [core] qrcode login for IPAD protocol
* Revert "[core] qrcode login for IPAD protocol"
This reverts commit c1136a8798
.
---------
Co-authored-by: Karlatemp <kar@kasukusakura.com>
Co-authored-by: Him188 <Him188@mamoe.net>
2023-03-18 13:52:31 +00:00
Him188
f04c623658
[core] Implement a more efficient algorithm to fetch roaming messages for group:
...
- Added `RoamingMessagesImplGroup`.
- Dump API changes for Group RoamingMessages.
- [mock] Fix MockRoamingMessages missing MessageSource
- [core] Convert hierarchical TimeBasedRoamingMessagesImpl to common, to reduce code complexity
2023-01-05 02:33:27 +00:00
Him188
3c580eead4
[core] Add default implementation for RoamingMessages.getMessagesStream
2023-01-05 02:33:27 +00:00
cssxsh
2cffb7a4a4
[core] feat: RockPaperScissors ( #2220 )
...
* [core] feat: RockPaperScissors
Co-authored-by: Karlatemp <kar@kasukusakura.com>
* docs update
* rename `eliminate` to `eliminates`
Co-authored-by: Karlatemp <kar@kasukusakura.com>
2023-01-03 10:00:32 +08:00
cssxsh
1c79da0f38
[core] feat: Announcement confirmed member api ( #2255 )
...
* feat: Announcement confirmed
* add: native
* add: todo
* fix: dump
2022-11-03 10:42:21 +00:00
微莹·纤绫
4abb3e3703
[core] Introduce Flow<T>.toStream()
for simply implement Streamable
( #2259 )
...
* [core] Introduce `Flow<T>.toStream()` for simply implement `Streamable`
* Drop `unintercepted` support
* fix ci
* update test
2022-10-31 13:09:58 +00:00
Him188
573f08955c
[core] Show specific reason for error 46 while sending message. Close #2127
2022-10-31 10:41:06 +00:00
Him188
c59de206cb
[core] Add default implementation of deprecated LoginSolver.onSolveUnsafeDeviceLoginVerify
2022-10-31 09:58:28 +00:00
cssxsh
9818c08054
[core] Add sign event ( #2217 )
...
* add: SignEvent
* add: SignEvent
* add: hasRank
* add: api dump
* add: toString
* add: toString
* fix: sign for review
2022-10-29 11:11:20 +01:00
Him188
4595f937e4
[core] Add MessageChain.deserializeFromMiraiCode
without redundant receiver MessageChain
.
2022-10-14 16:00:31 +01:00
Him188
16609fb1e0
[core] Introduce Streamable
for simplified multiplatform asFlow
a… ( #2256 )
...
* [core] Introduce `Streamable` for simplified multiplatform `asFlow` and `asStream`. Make `Announcements.asFlow` not suspend.
* Remove `@JvmBlockingBridge` in native
2022-09-25 23:44:18 +08:00
cssxsh
d000f2ea0f
[core] add group level api ( #2115 )
...
* add: api dump
* feat: Member.level
* add: api dump
* rename: level to rank
* feat: rank show
* feat: honor flag
* fix: honor flag index
* feat: record and chart
* feat: flag and docs
* add: api dump
* fix: active
* fix: honor
* fix: active
* fix: rebase
* fix: docs
* feat: MemberActive
* fix: for review
* feat: other notification
* remove: low level api
* add: since and api dump
* add: since
* for: review
* add: event sync
* fix: name and docs
* fix: api dump
* fix: for review
* add: ActiveRank, MemberMedal close #2233
* fix: active for review
* improve public API for inlined GroupHonorType
* Change `@since 2.13.0` to `@since 2.13`
* dump api changes
* implement mock framework for Active
* change `GroupActive.flush` to `GroupActive.refresh`
* improve docs for GroupActive
* remove unnecessary expect/actual for MemberActive
* change property names in GroupInfo
* check permission in MockGroupActiveImpl
* optimize member names in CommonGroupActiveImpl
* fix error checking
* dump api
Co-authored-by: Him188 <Him188@mamoe.net>
2022-09-21 23:18:50 +08:00
Him188
eb89b6348d
[core] Support solving device verification request by SMS:
...
- close #2190 , helps #717
- deprecate `LoginSolver.onSolveUnsafeDeviceLoginVerify`, add `.onSolveDeviceVerification`
2022-09-11 19:41:16 +08:00
Him188
f0651c81c6
[core+console] Improve logging hierarchy: ( #2196 )
...
- always use factory API from mirai-core
- Terminal is still overriding standard outputs
- plugins are forbidden to override logging framework (this was allowed but not working before)
2022-08-27 18:46:16 +08:00
Him188
2d393ee0b0
[core+console] Raise deprecation level for 2.13: ( #2213 )
...
- warningSince 2.11 -> errorSince 2.13
- errorSince 2.12 -> hiddenSince 2.13
- some experimental APIs removed
2022-08-27 14:06:03 +08:00
Eritque arcus
fea1d28488
[core] Support friend group ( #2113 )
...
* feat: support friend group
* remove unnecessary modifications
* toByteArray2
* support friendGroup, with api dump
* support rename, with api dump
* modify as required
* modify as required
* reverse
* doc
* FriendGroups
* api dump
* modify as required
* fix CI
* FriendGroup sync notice
* api dump
* modify as required
* immutable
* add friends: ContactList in FriendGroup
* more sync notice
* modify log content
* Change `FriendGroup.friends` to `Collection<Friend>`
* Fix `FriendGroup.friends.isEmpty()`
* modified as require, untested
* del count and online count in info
* change import
* fix missing import
* set @since 2.13 and modified as required
* modified as required
* modified as required
* doc
* change friendGroupId type to Int?
* api dumped
* change friendGroupId type to Int?
* introduce null to friendGroupId
* modified as required
* chore
* api dump
* chore: remark
* change int? to int
* api dump
* Update mirai-core-api/src/commonMain/kotlin/data/FriendGroups.kt
Co-authored-by: Him188 <Him188@mamoe.net>
* Move FriendGroup and FriendGroups to contact.friendgroup
* Make `Friend.friendGroup` not null
* add FriendGroups.default for default group
* Redesign FriendGroup interface
Co-authored-by: Karlatemp <kar@kasukusakura.com>
Co-authored-by: Him188 <Him188@mamoe.net>
2022-08-26 16:56:09 +08:00
Him188
a51f55124c
Mark ExternalResource.isAutoClose
, ExternalResource.useAutoClose
and ExternalResource.runAutoClose
stable
2022-08-16 10:26:45 +08:00
Eritque arcus
6b8c054948
[core] Support change friend remark ( #2112 )
...
* feat: support ChangeFriendName
* fix: register factory
[skip ci]
* rebase dev
* kdoc?
* api dump
* kdoc
* rebase dev
* remove unnecessary modification
* info::remark -> info.remark
* rebase dev
* api dump
* try to fix CI
* Add `@since` for `Friend.remark` setter
Co-authored-by: Him188 <Him188@mamoe.net>
2022-08-14 10:15:42 +08:00
Him188
f96c156d82
[core] Implement ConstrainSingle
for Audio
( fix #2093 )
2022-08-12 09:14:16 +08:00
cssxsh
9db5d2c4b5
Add client properties to MessageSyncEvents, add OtherClientCommandSenderOnMessageSync and MessageSyncEvent.toCommandSender
2022-08-03 11:27:39 +08:00
cssxsh
c38740ce2f
在 Image 序列化时支持全部属性 ( #2036 )
...
* fix: Image Serializer Delegate
* use: api dump
* add: test Image serialization
* fix: type (SerialName) and deserialize
* fix: native test
2022-07-22 03:05:08 +08:00
Him188
e5cad1d0ba
Rewrite MessageSerializers for new project structure ( #2159 )
2022-07-20 15:09:09 +08:00
Him188
4c6b879873
Upgrade to Ktor 2.0.2, use CIO engine for linux targets; Remove ktor-client-okhttp from mirai-core-api jvmBaseMain
...
Use Input.readAllText instead of Input.readText, because readText only reads one buffer.
#2084
2022-07-20 00:30:16 +08:00
Him188
13dadd5a95
Implement mirai-core for native
2022-07-20 00:30:16 +08:00
Him188
a4e7fda416
Raise deprecation level for 2.12
2022-06-14 11:19:44 +01:00
Him188
1a2241b8b2
Add Java-friendly EventChannel.exceptionHandler API, close #1953
2022-06-08 21:42:20 +01:00
Him188
c75d1f7074
Add MessageSource.isOriginalMessageInitialized
2022-05-25 22:39:53 +01:00
Him188
7687749030
Add more details in MessageSource.toString
2022-05-25 22:39:53 +01:00
Him188
3e38f359ba
Add ForwardMessage.BuilderNode.toString
2022-05-25 22:39:53 +01:00
Him188
a8c231485c
SilentLogger: return false for all isEnabled checks
2022-05-25 22:39:53 +01:00
Him188
0c708c8197
Redesign MessageChain hierarchy: Add LinearMessageChainImpl and CombinedMessage
2022-05-25 22:39:53 +01:00
Him188
b40b681f81
Deprecate EmptyMessageChain
in favor of emptyMessageChain()
2022-05-25 22:39:53 +01:00
Him188
3955546868
Add MessageVisitor
, MessageVisitorEx
, Message.accept
and Message.acceptChildren
as internal API
2022-05-25 22:39:53 +01:00
Him188
30dbd1b1c2
Pass exceptions caught in subscriber context to subscriber only
2022-05-16 19:14:14 +01:00
Him188
c192047361
Move event implementations to EventDispatcher
and add EventChannel.asFlow
.
2022-05-16 19:14:14 +01:00
Him188
4fa853065c
Add BotConfiguration.disableAccountSecretes
2022-05-02 14:01:53 +01:00
Him188
54eb4387e4
Make log4j.Logger.asMiraiLogger
and useLog4j2
stable
2022-05-02 11:13:55 +01:00
Him188
bb8cd86daa
Update dependencies:
...
Kotlin 1.6.21
Dokka 1.6.20
coroutines 1.6.1
atomifFU 0.17.2
serialization 1.3.2
ktor 1.6.7
blocking-bridge 2.0.0-162.1
dynamic-delegation 0.3.0-162.2
2022-04-26 11:12:35 +01:00
cssxsh
7a9769b618
Add getAvatarUrl(spec: Int) fix ( #1557 ) ( #1721 )
...
* Add getAvatarUrl(spec: Int) fix (#1557 )
* Add api dump
* Add AvatarSpec
* Add api dump
* fix: docs
* rename: getAvatarUrl
2022-04-24 12:48:18 +01:00
Him188
8993de9a13
Review deprecation for 2.11, close #1837
2022-04-13 12:47:21 +01:00
Him188
2a8f7de23d
Throw SendMessageFailedException
with new reason AT_ALL_LIMITED
, fix #1948
2022-04-02 13:24:30 +01:00
Him188
ab9c2ef2b2
Add Audio.lengthDuration
2022-03-16 15:34:12 +00:00