Him188
0ebf656c20
Improve performance of MessageChainBuilder.add
and .addAll
2021-07-31 17:50:40 +08:00
Karlatemp
b423430b74
Deprecate GroupSettings.entranceAnnouncement
; close #1399 , close #1398
2021-07-15 22:29:51 +08:00
Him188
dd606c3022
Improve performance of hexToBytes
and simplify similar extensions
2021-07-07 15:00:28 +08:00
Him188
eaa8f20208
Mark UserProfile
with NotStableForInheritance
2021-07-07 13:47:45 +08:00
Him188
e389594c47
Update docs on MemberPermission
2021-07-07 13:47:28 +08:00
Him188
a0baa65193
Announcement API: Refine naming of properties:
...
- pinned -> isPinned
- popup -> showPopup
- needConfirm -> requireConfirmation
- readMemberNumber -> confirmedMembersCount
- publishTime -> publicationTime
- isAllRead -> allConfirmed
2021-07-06 19:45:51 +08:00
Him188
881f713be2
Update docs of announcement
2021-07-06 19:12:45 +08:00
Him188
9d9b9ce7e2
Change AnnouncementImage
's width
and height
to Int
2021-07-06 19:12:45 +08:00
Him188
6145b3ef47
Remove inline
to make compiler happy :)
2021-07-06 19:12:45 +08:00
Him188
c588b5ce76
Add permission requirement to docs on
...
some Announcement API
2021-07-06 19:12:45 +08:00
Him188
d08c6b81a8
Add simplified one-line API for publishing a single announcement
2021-07-06 19:12:45 +08:00
Him188
b98fcdd2e5
Add default argument to OfflineAnnouncement
2021-07-06 19:12:45 +08:00
Him188
f7e2391d96
Add contracts for eligible Announcement API
2021-07-06 19:12:45 +08:00
Him188
d10cd270e8
Make AnnouncementParameters better for Java
2021-07-06 19:12:45 +08:00
Him188
5c89645056
Add a stable factory-method for AnnouncementImage
2021-07-06 19:12:45 +08:00
Him188
b239c57679
Re-order parameters of AnnouncementImage
2021-07-06 19:12:45 +08:00
Him188
858766d6b5
Make OfflineAnnouncement.create
synthetic
2021-07-06 19:12:45 +08:00
Him188
1abc65fb16
Update docs for Announcement API
2021-07-06 19:12:45 +08:00
Him188
47192f3ee3
Make Announcements.asStream
not suspend
2021-07-06 19:12:45 +08:00
Him188
9f1343c02e
Generate equals
, hashCode
and toString
for AnnouncementParameters
abd AnnouncementImage
2021-07-06 19:12:45 +08:00
Him188
d2e35772d0
Add constructor-like functions for Kotlin users
2021-07-06 19:12:45 +08:00
Him188
1abfcf4317
Add OfflineAnnouncement.serializer
2021-07-06 19:12:45 +08:00
Him188
b319e2bc5c
Remove parameter title
of Announcement
2021-07-06 19:12:45 +08:00
Him188
4a2b510a70
Remove announcements' low-level API and bundle them into AnnouncementProtocol
, improve code style and maintainability
2021-07-06 19:12:45 +08:00
Him188
f5ce64ba4f
Redesign Announcement API
...
Co-authored-by: Karlatemp <karlatemp@vip.qq.com>
2021-07-06 19:12:45 +08:00
Him188
194d34d309
Remove meaningless @LazyProperty
2021-07-06 19:12:10 +08:00
Him188
d6c4b5456f
Remove inappropriate weak references
2021-07-06 19:12:10 +08:00
Him188
be3c873f4f
Face.toString
: use contentToString()
for better readability (#1382 )
2021-07-06 16:07:41 +08:00
Karlatemp
a4f0bbfe80
Fix document of RandomAccessFile.toExternalResource()
2021-07-05 18:16:53 +08:00
Him188
69f2d24c22
Fix build
2021-07-05 18:02:01 +08:00
Him188
c4fd79ef22
Fix doc on ExternalResource
2021-07-05 18:00:57 +08:00
Him188
8fdce4dc98
Update docs on ExternalResource for auto release, and categorise declarations
2021-07-05 17:20:57 +08:00
Him188
abc2bfcb3e
Add @NotStableForInheritance
and apply it to suitable classes ( #1385 )
...
* Add `@NotStableForInheritance` and apply it to suitable classes
* apiDump
* Fix import
* fix
2021-07-05 12:50:00 +08:00
Him188
7722a5a0b0
Move KSerializer.map
to mirai-core-utils
2021-07-04 17:56:23 +08:00
Karlatemp
4c810ee3ee
ExternalResourceLeakObserver ( #1383 )
...
* ExternalResourceLeakObserver
* Avoid exceptions of user-defined run-when-close actions
* Fix build
* Release references
* Move `ExternalResourceLeakObserver` to mirai-core-api
* Make internal
* Make `close()` thread-safely
* typo
* Don't track `ExternalResource` creation stack by default
* Update mirai-core-api/src/commonMain/kotlin/internal/utils/ExternalResourceLeakObserver.kt
Co-authored-by: Him188 <Him188@mamoe.net>
2021-07-03 22:05:12 +08:00
Him188
ceac90ed19
Minor update for doc of BotJoinGroupEvent.Active
2021-07-02 22:11:38 +08:00
Him188
91a9e63877
Do light refine after constructing MessageReceipt
, fix #1371
2021-07-02 21:06:31 +08:00
Karlatemp
a4b62b0909
Voice serialization ( #1368 )
...
* Voice serialization
* Implement `hashCode` and `equals` for `Voice`
* Update test
* Update test
* Add note of `PttMessage.pttInternalInstance`
* Fix logic of `Voice.equals`
2021-07-02 12:10:20 +08:00
Him188
adc39a93b5
Update copyright
2021-07-02 00:39:10 +08:00
Him188
b9eb654a51
Reformat and cleanup code
2021-07-02 00:39:10 +08:00
Him188
6eff4bdf40
Add EVENT_LAUNCH_UNDISPATCHED
to allow to launch coroutines for event listeners in a UNDISPATCHED start mode
2021-06-29 22:43:02 +08:00
Him188
3d0fba2d8f
Fix EventChannel.filter
, allow blocking calls correctly
2021-06-29 22:21:58 +08:00
Karlatemp
06c005e068
Update document link of captcha solving
2021-06-26 19:31:30 +08:00
Karlatemp
a20833bb2a
Enable slider captcha for built-in login solvers
2021-06-26 19:31:28 +08:00
Karlatemp
eb5c7414d7
Add hashCode
and equals
for Image
, close #1302
2021-06-26 16:29:40 +08:00
Karlatemp
ae54a5fb41
Private voice support ( #1310 )
...
* Support voice for private messaging
* typo
* Add extension functions for `uploadAsVoice`; Update KDocs
* Update KDoc
* Update error message
* Fix `C2CPttStoreBDH` error
* Deprecated `ExternalResource.uploadAsVoice(Contact): Voice`
* Update mirai-core-api/src/commonMain/kotlin/utils/ExternalResource.kt
* apiDump
Co-authored-by: Him188 <Him188@mamoe.net>
2021-06-26 10:02:23 +08:00
Him188
baf1ca618e
Improve performance of MessageChain.get
, MessageChain.contains
. Add relevant tests.
2021-06-25 07:57:52 +08:00
Noire
b8de3f77ff
GroupAnnoucement ( #1141 )
...
* Add more comment about GroupAnnouncement.kt
* Edit comment about GroupAnnouncement.kt
Provide experimental api
* Api Dump
* After review
* Change to interface and API dump
* More change
* More change
* More more change
* Some change
* api dump
* Fix name
* Redesign Announcement public api
* Edit comment about GroupAnnouncement.kt
Provide experimental api
* After review
* Change to interface and API dump
* More change
* Modify to extension fun
* Fix sendAnnouncement and change place
* Change Group.deleteAnnouncement to group companion
* fix publish
* Api dump
* Reformat code
* Add `@since 2.7`
* Fix build
Co-authored-by: Him188 <Him188@mamoe.net>
2021-06-24 00:59:53 +08:00
sandtechnology
76e57d4aae
Update system face ( #1260 )
...
* Update system face
* Update api dump
* Update api dump for android
* Update system face which updated today
* Update api dump
* Add new system face
* Update apidump
2021-06-23 15:00:06 +08:00
zhou2008
7ed9f280d7
Update ForwardMessage.kt ( #1275 )
2021-06-23 14:57:48 +08:00
Him188
415f133cbc
Fix Flow<Message>.toMessageChain
2021-06-20 01:36:32 +08:00
Him188
8840ba9e6f
Remove contract
in MiraiLogger
2021-06-20 00:21:49 +08:00
Him188
c37457cafb
Cleanup and move local serializable classes to top-level
2021-06-19 18:28:21 +08:00
Him188
a38f24cbe5
Redesign connection maintenance mechanism:
...
Reconnection is directed by `BotOfflineEvent`.
### Event Broadcasting
- PacketFactory `MessageSvcPushForceOffline` closes network with `ForceOfflineException`.
- `network.close(cause)` pass the cause to state observer from `QQAndroidBot.stateObserverChain`, the observer broadcasts as follows:
- Nothing if `cause` is `ForceOfflineException` or `BotClosedByEvent`(which is broadcast by user)
- `BotOfflineEvent.Dropped` if cause is NetworkException and is recoverable(which is from Netty handlers)
- `BotOfflineEvent.Force` if cause is `ForceOfflineException` is from the factory mentioned above.
- `BotOfflineEvent.Active` otherwise(any other unexpected exceptions considered as an error)
### Deciding whether to reconnect
User can listen and change `BotOfflineEvent.reconnect` to decide. Default values are determined by `BotConfiguration`.
### Event listening
- Component `BotOfflineEventMonitor` listens `BotOfflineEvent`, logs the event for users, and launches a coroutine to do `network.resumeConnection` to notify the selector to renew an instance.
- `BotOnlineWatchdog` in `SelectorNetworkHandler` is removed.
- Selector now handles `maxAttempts` correctly in such a way that `awaitResumeInstance` does not throw exception until maximum attempts reached.
- On every attempt, new exceptions are logged to provide debugging information, and further duplications are ignored.
2021-06-16 16:58:20 +08:00
AdoptOSS
7732014cbd
fix: do trimming properly in startsWith
& endsWith
, #1282 ( #1314 )
...
Co-authored-by: ArcticLampyrid <arcticlampyrid@outlook.com>
2021-06-08 15:42:37 +08:00
Him188
a9489567d0
Clearify docs for ExternalResource
and RemoteFile
( #1248 )
...
* Update code docs for ExternalResource emphasising its properties
* Update code docs for ExternalResource emphasising its representative file location
* Update mirai-core-api/src/commonMain/kotlin/utils/RemoteFile.kt
* Update mirai-core-api/src/commonMain/kotlin/utils/RemoteFile.kt
* Clarify docs
2021-06-08 11:23:09 +08:00
Him188
6b442b251f
Introduce AbstractEventTest
2021-06-07 18:56:33 +08:00
Him188
fc96ba96dd
Add _EventBroadcast
to allow tests to overrode implementation of Event.broadcast
2021-06-07 18:29:15 +08:00
Him188
9619338d5b
Catch and forward event broadcasting to EventDispatcher
2021-06-07 18:18:07 +08:00
Him188
02681428c9
Review and migrate deprecated calls
2021-06-07 12:57:01 +08:00
Karlatemp
ef439f1dea
Fix API check
2021-06-07 12:33:31 +08:00
Him188
38d0b124f2
Fix docs on BotOfflineEvent.Force
2021-06-06 13:58:46 +08:00
Him188
c03155af6d
Review docs and improve readability ( #1291 )
...
* Review docs and improve readability
* Update docs/Bots.md
Co-authored-by: Karlatemp <karlatemp@vip.qq.com>
* Update docs/Bots.md
Co-authored-by: Karlatemp <karlatemp@vip.qq.com>
* Update docs/Bots.md
Co-authored-by: Karlatemp <karlatemp@vip.qq.com>
* Fix doc
* Fix doc
* Clarify AnonymousMember and NormalMember
* Fix typo
* Add language type
Co-authored-by: Karlatemp <karlatemp@vip.qq.com>
2021-06-02 20:29:36 +08:00
Him188
e0a767060a
Deprecate RemoteFile.upload
and relevant extensions, fix #1255 ( #1290 )
...
* Deprecate `RemoteFile.upload` and relevant extensions, fix #1255
* Replace '// since 2.7-M1' with '// deprecated since 2.7-M1'
* Move deprecation notes to `RemoteFile.upload`
2021-06-02 14:00:24 +08:00
Karlatemp
1e95482158
Fix the resource leak when closing TxCaptchaHelper(Swing) directly
2021-06-01 12:47:42 +08:00
Karlatemp
c89d31cef6
Redesign LoginSolver ( #1285 )
...
* Redesign SwingSolver
* TxCaptchaHelper support
* Simplify TxCaptchaHelper
2021-06-01 12:26:37 +08:00
Him188
043006413c
Change upper bound type of MessageSubscribersBuilder.has
from Message
to SingleMessage
, fix #1223
2021-05-31 16:40:57 +08:00
Him188
e6f7edadeb
Fix doc on MessageSource
2021-05-30 23:44:52 +08:00
Him188
2d10cc10be
Add implementation notes for Listener
2021-05-30 09:42:24 +08:00
Him188
bcdff1336b
Kotlin 1.5 and dependencies updates ( #1246 )
...
* Kotlin 1.5 and dependencies updates
* Update mirai-console ref
* Use Kotlin 1.5.10
* 2.7-M1-dev-3
* Update console ref
2021-05-27 14:39:13 +08:00
Him188
5e25c0e25b
Remove bintray
2021-05-25 12:25:53 +08:00
Him188
d43a77b590
Update docs and improve source code readability
2021-05-09 15:31:50 +08:00
Him188
2e1ec03daa
Deprecate ForceOfflineException
2021-05-09 13:12:34 +08:00
Him188
d755ebf7ee
Use topLevelEventLogger instead of MiraiLogger.TopLevel for non-BotEvent events
2021-05-09 00:54:48 +08:00
Him188
35884182af
Fix and improve event logging
2021-05-09 00:54:48 +08:00
Him188
d73f5a2692
Review BotConfiguration and implement relevant configs, implement alive heartbeat, fix behavior on resume
2021-05-09 00:54:48 +08:00
Him188
eb80a4836b
Remove all unstable kotlin.Duration usages
2021-05-09 00:54:48 +08:00
Him188
a7a4879d05
Improve logging
2021-05-09 00:54:48 +08:00
Him188
5fa54114c1
Fix sso and event logging
2021-05-09 00:54:48 +08:00
Him188
8db8e2fb03
Implement lifecycle management for network
2021-05-09 00:54:48 +08:00
Him188
076cd4997d
BotOfflineEventMonitor
2021-05-09 00:54:48 +08:00
Him188
b91bbfd2b8
Add NetworkHandlerFactory and tests for NetworkHandler
2021-05-09 00:54:48 +08:00
Him188
57eb716e31
Add inline BotFactory.newBot
for Kotlin DSL. fix #1233 ( #1234 )
2021-05-02 13:51:32 +08:00
Him188
0dbb448cad
Fix doc on BotConfiguration.inheritCoroutineContext
2021-05-01 10:54:21 +08:00
Him188
a8a448272d
Add BotConfiguration.heartbeatStrategy
...
(cherry-picked from #1229 )
2021-04-30 22:56:00 +08:00
Him188
104f7b4292
Fix statHeartbeatPeriodMillis
not copied in BotConfiguration.copy
2021-04-30 22:06:15 +08:00
wdvxdr1123
758eca55cd
feat: support kugou,kuwo music share ( #1228 )
...
* feat: support kugou,kuwo music share
* fix: api check
* fix: api check again
* Update MusicShare.kt
Co-authored-by: Him188 <Him188@mamoe.net>
2021-04-30 22:03:36 +08:00
Him188
c7dfef9ad5
Improve logs on event exception
2021-04-29 12:31:09 +08:00
Him188
70dc0a4da6
Remove kotlin.time.Duration usages ( #1215 )
...
* Remove kotlin.Duration usages
* Fix build
* update submodule console ref
2021-04-27 11:49:30 +08:00
Him188
c3b6342d34
Fix EventChannelKotlinExtensions resolution ambiguity
2021-04-25 11:35:56 +08:00
AdoptOSS
09475efbda
fix: serialization plugin should not be put into runtime classpath ( #1197 )
2021-04-17 19:56:19 +08:00
Hoshino Tented
1bf1e3686f
添加管理员修改功能 ( #1178 )
...
* add modifyAdmin
* 修复赋予相同权限时不会抛错并且仍然广播事件的 bug
* fix test failed
* fix test failed AGAIN
* fix myself
* 是这样吗
* i am so sorry :(
* fix fixed bug
2021-04-16 08:33:07 +08:00
Him188
f3d3130f2d
Support login cache and login without password. close #1158
2021-04-10 18:46:39 +08:00
Him188
455ed6fbeb
Move NormalMember.isMuted
from extension to member function. fix #1037
2021-04-10 12:58:10 +08:00
Him188
8d3a4fbf5b
Deprecate RemoteFile.moveTo(String)
for ambiguous behavior ( #1180 )
2021-04-09 18:33:12 +08:00
Him188
e20313636a
Make Group.setEssenceMessage static
2021-04-08 18:17:00 +08:00
Him188
770615f137
Ensure Mirai impl initialized on serialization, fix #1086
2021-04-07 23:28:41 +08:00
Him188
944099a977
Add _MiraiInstance to allow internal instance overrides
2021-04-07 21:49:44 +08:00
Him188
620771211e
Merge remote-tracking branch 'mirai/dev' into dev
2021-04-05 23:58:54 +08:00
Him188
f0093a0cca
Fix ignored exceptions in PlatformLogger on Android
2021-04-05 23:58:37 +08:00
Him188
45aca5f37d
Add ForwardMessageBuilder.toRawForwardMessage
and make RawForwardMessage
stable ( #1162 )
...
* Add `ForwardMessageBuilder.toRawForwardMessage` and make RawForwardMessage stable.
* apiDump
2021-04-05 22:35:52 +08:00
AdoptOSS
21e8852e0f
buildscript: fix task not found errors when android sdk not available ( #1161 )
...
* buildscript: fix task not found errors when android sdk not available
* fix: this shadowed by run
* cleanup: code style
* improve: avoid breaking index map
2021-04-05 22:35:38 +08:00
Him188
7521e6d17f
Rename RichMessageOrigin
to MessageOrigin
( #1116 )
...
* Rename `RichMessageOrigin` to `MessageOrigin`
* apiDump
* Change `MessageOrigin.origin` parameter type from `RichMessage` to `SingleMessage`;
Rename `RichMessageKind` to `MessageOriginKind`
* Make MessageOriginKind serializable and update docs
* Ensure binary compatibility with <2.6 and provide migration helpers
* apiDump
2021-04-04 00:31:33 +08:00
Him188
cccdb3cdf2
Update docs for messages ( #1142 )
...
* Update docs for messages
* Update docs for messages
* Update docs for messages
* Update docs for messages
* Update docs/Messages.md
Co-authored-by: Karlatemp <karlatemp@vip.qq.com>
* Update mirai-core-api/src/commonMain/kotlin/message/data/Message.kt
Co-authored-by: Karlatemp <karlatemp@vip.qq.com>
* Update docs for messages
* Update docs for messages
* Revert inappropriate changes
* Fix doc
Co-authored-by: Karlatemp <karlatemp@vip.qq.com>
2021-04-03 22:39:55 +08:00
Him188
ea1f43b9c5
Fast login ( #1154 )
...
* wtlogin10
* Fast login Packet Implement (#1125 )
* Correct group syncing logic again, Fix #1120
* Implement fast login packet, thanks to MiraiGo
* Delete duplicated tlv
* Refresh Token when exchanging and solve connection dropping issue (#1128 )
* Correct group syncing logic again, Fix #1120
* Implement fast login packet, thanks to MiraiGo
* Delete duplicated tlv
* Schedule token exchanging every 10 minutes, solve connection dropping issue
* Refresh Token when exchanging, and correct token expire time
* Remove useless params for doFastLogin
* Fix missed register and tgt update (#1131 )
* Correct group syncing logic again, Fix #1120
* Implement fast login packet, thanks to MiraiGo
* Delete duplicated tlv
* Schedule token exchanging every 10 minutes, solve connection dropping issue
* Refresh Token when exchanging, and correct token expire time
* Remove useless params for doFastLogin
* Fix missed register and tgt update
* Add login lock
* Add login lock
* Remove key refresh
* Remove heartbeat period override
* Login: Update tlv and solve constant connection dropping issue (#1150 )
* Correct group syncing logic again, Fix #1120
* Implement fast login packet, thanks to MiraiGo
* Delete duplicated tlv
* Schedule token exchanging every 10 minutes, solve connection dropping issue
* Refresh Token when exchanging, and correct token expire time
* Remove useless params for doFastLogin
* Fix missed register and tgt update
* Update tlv, add tlv11d and tlv11a decoding
* Add stat heartbeat, solve constant connection dropping issue
* Update apidump for new configuration
* Add comment for statHeartbeatPeriodMillis
* Change old naming
* Add since version
Co-authored-by: Him188 <Him188@mamoe.net>
Co-authored-by: sandtechnology <20417547+sandtechnology@users.noreply.github.com>
2021-04-03 22:31:14 +08:00
Him188
1c486854a8
Fix FileMessage.Key
2021-03-30 21:42:05 +08:00
Him188
430c2c59ad
Support UnsupportedMessage ( #1112 )
...
* Support UnsupportedMessage
* Fix serialize
* `UnsupportedMessage.contentToString`: use `struct.contentHashCode()`
Co-authored-by: Karlatemp <karlatemp@vip.qq.com>
2021-03-26 23:54:17 +08:00
Him188
0f41c225f9
Move SerialDescriptor.copy to mirai-core-utils
2021-03-26 20:42:51 +08:00
Him188
fef0b4220a
Merge remote-tracking branch 'mirai/dev' into dev
2021-03-26 10:07:13 +08:00
Him188
7ed8502e68
Fix docs on IMirai.FileCacheStrategy
2021-03-26 10:06:48 +08:00
Him188
c071ac5773
Update docs of Nudge, clearification
2021-03-23 23:57:20 +08:00
Him188
f8da762d2f
Merge remote-tracking branch 'mirai/dev' into dev
2021-03-22 12:52:39 +08:00
Him188
c006a48de5
Update docs about FileCacheStrategy, close #1046
2021-03-22 12:52:18 +08:00
Him188
ee1ea33898
Remove inappropriate use of DSL marker on ForwardMessageBuilder.add
2021-03-22 11:24:26 +08:00
Him188
0c3c85f61c
Add members to make ForwardMessageBuilder easier to use from Java, close #1087
2021-03-22 11:24:26 +08:00
Him188
f42747f6ac
Make buildMessageChain not @JvmSynthetic
2021-03-22 11:21:22 +08:00
Him188
daa7453d73
Add UserOrBot.nameCardOrNick
2021-03-22 11:16:34 +08:00
Him188
146433d56f
Add common UserOrBot.nick
2021-03-22 11:16:34 +08:00
Him188
9f52a26fbd
Fix FileMessage mirai code
2021-03-20 22:31:12 +08:00
Him188
0112d4622e
Rename ExternalResource.Companion.uploadAsFileTo to uploadAsFile to keep consistency
2021-03-20 16:49:02 +08:00
Him188
09cbc55ef6
RemoteFile.FileInfo.resolveToFile: use FileSupport than Group
2021-03-20 16:45:01 +08:00
Him188
7f6812727a
Update RemoteFile docs and mark RemoteFile as stable
2021-03-20 16:45:00 +08:00
Him188
74d59982ae
Add more extensions for RemoteFile and ExternalResource
2021-03-20 15:59:58 +08:00
Him188
b328328ddd
Add docs for RemoteFile and mark some API as stable
2021-03-20 15:59:58 +08:00
Him188
b5d8306902
Add RemoteFile.listFilesCollection()
...
Co-authored-by: Karlatemp <karlatemp@vip.qq.com>
2021-03-20 15:59:58 +08:00
Him188
5f02c35e66
Merge remote-tracking branch 'mirai/dev' into dev
2021-03-20 15:33:48 +08:00
Him188
af58c163d2
- Add FileMessage.internalId hence support serialization
...
- Add FileMessage.Serializer
- Add FileMessage.create and IMirai.createFileMessage to construct manually
- Mark FileMessage as stable
- Move TestMiraiCode from mirai-core-api to mirai-core
fix #1082
2021-03-20 15:33:08 +08:00
Karlatemp
f9353b6aef
Compiled code verify ( #1080 )
...
* Compiled code verify
* Run `verifyCompiledClasses` in `check` task
* Redesign verification
Co-authored-by: Bo Zhang <bo@gradle.com>
* Disable console verify
* Decoupling
Co-authored-by: Bo Zhang <bo@gradle.com>
2021-03-20 13:34:04 +08:00
Karlatemp
3152e24523
Fix operations of RemoteFile ( #1104 )
...
* Fix operations of RemoteFile
* apiDump
* Remove duplicate method
* Don't setup fileId
2021-03-18 12:30:06 +08:00
Karlatemp
5cd62319b7
Update docs of RemoteFile
2021-03-17 23:41:49 +08:00
Him188
e256ec06d3
Support file operations ( #1069 )
...
* Proto structs for group file
* RemoteFile fundamental abstraction and proto structs
* Configure JVM target for mirai-console-intellij
* Add Group.filesRoot
* Fix build
* Implement a FileSystem for RemoteFile resolution
* Fix RemoteFile FileSystem and implement resolve and listFiles
* Implement file info query and file download
* Support uploading group file
* Support file feeds
* 2.5-M2-dev-1
* Fix tests
* 2.5-M2-dev-2
* Add uuid-based resolving, support getting file details
* Support FileMessage receive
* Support sending FileMessage
* 2.5-M2-dev-3
* Add DownloadInfo.id
* Improve RemoteFile.delete
* Support move, delete, rename, mkdir. Simplify listFiles
* - Rename RemoteFile.write to .upload.
- Prefer id matching
- Improve move
* Add permission checks
* Improve permission checks
* Rearrange functions and add constant ROOT_PATH
* Introduce FileSupported, add extensions
* Introduce ProgressionCallback
* Fix docs and uploadFileAndSend
* Remove empty FileHighway.kt
* Add test testNormalize
* Add RemoteFile.contact, change RemoteFile.uploadAndSend return type to MessageReceipt
* Move @JvmBlockingBridge to file
* Change FileMessage.toRemoteFile parameter type Group to FileSupported
* Add impl notes #1082
2021-03-08 18:34:45 +08:00
Him188
b7c0f40d7e
Revert "Implement multiplatform EventChannel for android specially"
...
This reverts commit dd7aed88
2021-02-26 15:34:51 +08:00
Him188
7fd281c496
Remove reflection API calls which are unsupported by Android
2021-02-25 11:19:18 +08:00
Him188
aaab3ae109
Merge branch 'dev' into android_target
...
# Conflicts:
# build.gradle.kts
2021-02-25 10:39:51 +08:00
Him188
2c14f0016f
Disable atomicFU compiler plugin
2021-02-25 09:35:51 +08:00
Him188
abf9baefc1
Remove @file:JvmName on PlatformLogger actual declarations, fix potential compiling issue
2021-02-25 07:54:36 +08:00
Karlatemp
7a7c88b783
Android api level check
2021-02-25 00:12:58 +08:00
Him188
dd7aed885d
Implement multiplatform EventChannel for android specially
2021-02-24 15:57:54 +08:00
Him188
7b80ac5a0c
Replace usage of java.util.List.removeIf to Kotlin's MutableList.removeAll
2021-02-24 15:15:47 +08:00
Him188
ba61194fa4
Move StandardCharImageLoginSolver from common to jvm
2021-02-24 15:15:43 +08:00
Him188
d3583162a5
Replace usage of List.replaceAll with Kotlin's
2021-02-24 15:15:31 +08:00
Him188
95688e37af
Update to Kotlin 1.4.30 and bump other dependencies versions ( #1049 )
...
- kotlin-stdlib and compiler 1.4.30
- kotlinx-serialization 1.1.0-RC
- kotlinx-coroutines 1.4.2
- ktor 1.5.1
- atomicfu 0.15.1
- yamlkt 0.9.0
- kotlin-jvm-blocking-bridge 1.10.0
- intellij 2020.3.2
- kotlin-intellij 203-1.4.30-release-IJ7148.5
- Gradle 6.8.2
2021-02-24 12:15:19 +08:00
Him188
9c3a175b02
Configure binary compatibility validator for android target
2021-02-24 11:36:03 +08:00
Him188
aa289e932f
Multiplatform LoginSolver:
...
- On JVM: Same behaviour as before
- On Android: LoginSolver.Default returns `null` always
2021-02-24 10:18:04 +08:00
Him188
1ce26c393c
Implement SingleFileLogger separately for different platforms, ensure binary compatibility
2021-02-24 09:55:33 +08:00
Him188
0b971b2117
Merge branch 'dev' into android_target
...
# Conflicts:
# build.gradle.kts
# buildSrc/src/main/kotlin/Versions.kt
2021-02-24 09:20:47 +08:00
Karlatemp
9bb3ae20ef
MiraiCode of MusicShare ( #1044 )
...
* Improve MiraiCode parsing
* MiraiCode of MusicShare
2021-02-23 23:00:32 +08:00
Karlatemp
2bfc20048e
[MessageSubscribersBuilder] Ignore null
execution result. close #1011
2021-02-16 20:56:26 +08:00
Noire
4555962049
Fix document of BotConfiguration.botLoggerSupplier ( #1021 )
2021-02-14 21:41:57 +08:00
Him188
4ac7d3fa9a
Support Dice ( #1018 )
...
* Add Dice public API #1012 , close #1017
* Extract MarketFaceImpl to separate file
* Dice protocol impl #1012
* Dice refinement
* Add serialization support for Dice
* Add mirai code support for Dice
* Update docs/Messages.md
Co-authored-by: Karlatemp <karlatemp@vip.qq.com>
* Update mirai-core-api/src/commonMain/kotlin/message/data/Dice.kt
Co-authored-by: Karlatemp <karlatemp@vip.qq.com>
* Add dice mirai code test
Co-authored-by: sandtechnology <a1294790523@hotmail.com>
Co-authored-by: lc6a <1952511149@qq.com>
Co-authored-by: Karlatemp <karlatemp@vip.qq.com>
2021-02-13 11:34:23 +08:00
Him188
d0cbe087b1
Add jetbrains-annotations dependency to mirai-core-api
2021-02-12 14:38:22 +08:00
Him188
c51eea6268
- Simplify ContactListCache configuration
...
- Add kotlin.Duration support
- Disable contact list cache by default for stability
2021-02-11 16:58:43 +08:00
Him188
e219fb3a95
Fix typo in doc
2021-02-11 16:42:02 +08:00
Karlatemp
0d58e6e3ab
Convert CRLF(\r\n)
, CR(\r)
to LF(\n)
; fix #1010
2021-02-11 08:48:01 +08:00
Him188
cda6aaa79b
Simplify cache configuration.
...
Improve cache saving:
- Use ProtoBuf to serialize BdhSession
- More readable servers.json
2021-02-10 15:20:39 +08:00
Him188
01374b1d32
Merge remote-tracking branch 'mirai/dev' into dev
2021-02-09 18:40:51 +08:00
Him188
9a32b2690e
RichMessageOrigin support for MusicShare. fix #950
2021-02-09 18:40:30 +08:00
Karlatemp
c9f56175af
Cache BdhSession and ServerList for next login
2021-02-09 13:51:08 +08:00
Him188
aaa655f167
Move @JvmBlockingBridge on member functions to containing classes
2021-02-08 12:15:58 +08:00
Him188
2d1c66135e
Fix Voice.contentToString to be the same as official clients
2021-02-07 14:59:07 +08:00
Him188
31839b76a3
Enable cache by default, change default cache dir, change enableXXXCache to disableXXXCache in BotConfiguration
2021-02-07 13:55:08 +08:00
Him188
f27e42d225
Fix BotConfiguration.copy
2021-02-07 13:43:03 +08:00
Him188
cbf151b24d
Rearrange BotConfiguration members
2021-02-07 13:43:03 +08:00
Him188
0a36170411
Fix docs
2021-02-07 13:43:03 +08:00
Him188
7fac83702a
Support group list cache, close #987
2021-02-07 13:43:03 +08:00
Him188
90d4030fe6
Support friend list cache, close #408
2021-02-06 22:52:41 +08:00
Him188
9211f697cf
Review contact infos and make them serializable
2021-02-06 20:40:54 +08:00
Him188
311df7d22b
Extract contact sync logic to ContactUpdater for future caching #408
2021-02-06 19:53:51 +08:00
Him188
3c4a517f68
apiDump for ShowImageFlag.SERIAL_NAME
2021-02-05 23:00:43 +08:00
Him188
73b6a886be
Install serializer for ShowImageFlag, fix build.
2021-02-05 22:43:16 +08:00
Him188
fd3b32482e
Add check for DeviceInfo.imsiMd5.size on init. #979
2021-02-05 22:40:27 +08:00
Him188
13faff5471
Add serialization support for ShowImageFlag
2021-02-05 22:34:08 +08:00
Him188
5cd617eaa6
Deprecate SingleMessage.Serializer for compatibility issue with array polymorphism
2021-02-05 22:33:36 +08:00
Him188
3c38a3b9c0
Extract SingleMessage and ConstrainSingle to separate files, update docs
2021-02-05 22:10:06 +08:00
Him188
3b06df6bc5
Simplify EventChannel.parentScope
2021-02-03 20:23:10 +08:00
Him188
1205d95186
Fix EventChannel.parentScope missing parentJob
2021-02-03 19:45:45 +08:00
Him188
842549fd44
Fix the issue EventChannel.context loses intercepted
, fix #956
2021-02-03 19:40:46 +08:00
Him188
9597a70f58
Add test testAsChannel for EventChannel
2021-02-03 19:10:06 +08:00
Him188
d4cc4845ba
Fix inappropriate coroutine suspension in java bridges in EventChannel
2021-02-03 19:09:30 +08:00
Him188
2a7c1e8631
Merge remote-tracking branch 'mirai/dev' into dev
2021-02-03 12:26:52 +08:00
Him188
b5d5f3c922
Add more tests for EventChannel:
...
- testFilterException
- testExceptionInSubscribe
2021-02-03 12:26:38 +08:00
Him188
0bbea5706f
Fix EventChannel.filter and .filterIsInstance when chained, fix #953
2021-02-03 11:41:05 +08:00
Him188
2e91ae0d7f
Revise MessageSerializers.registerSerializer, fix #951 :
...
- Don't register contextual serializer
- Register polymorphic serializers to all superclasses inheriting SingleMessage
2021-02-03 10:39:36 +08:00
Him188
a834916f3c
Add equals and hashCode for RichMessageOrigin
2021-02-03 10:39:36 +08:00
Him188
4990c40a37
Add RichMessageOrigin.Key.SERIAL_NAME
2021-02-03 09:26:46 +08:00
Him188
35a75df932
Fix MusicShare serial name, add MusicShare.Key.SERIAL_NAME
2021-02-03 09:24:48 +08:00
Him188
54050523c3
Generalize RichMessageOrigin, add origin and kind. Add RichMessageKind. #950
2021-02-03 09:20:33 +08:00
Karlatemp
b659d55fec
Support forward message refinement, close #623
2021-02-03 08:09:57 +08:00
Him188
f2fe94ed67
Rename LongMessageOrigin to RichMessageOrigin
2021-02-03 08:09:57 +08:00
Him188
1e95c43ff6
Add LongMessageOrigin and extract public api IMirai.downloadLongMessage
2021-02-03 08:09:57 +08:00
Him188
1768872bab
Rewrite message to struct conversions, add ReceiveMessageTransformer, for parsing long and forward messages in the future
2021-02-03 08:09:57 +08:00
Him188
e9076b8ae0
Remove obsolete comments
2021-02-01 12:52:00 +08:00
Him188
3efa71fa82
PlatformLogger and ECDH implementation for Android.
2021-02-01 12:45:24 +08:00
Him188
bacfef584f
Add android compilation target
2021-02-01 12:23:28 +08:00
Him188
2a7f0a3a8f
Don't introduce new file BotConfigurationKt but merge into existing Utils (affected: top-level fun BotConfiguration). apiDump
2021-02-01 09:22:27 +08:00
Him188
f76e573b49
Add constructor-like BotConfiguration builder
2021-02-01 08:10:27 +08:00
Him188
c517e0685f
Update docs
2021-01-29 14:00:24 +08:00
Him188
0a59a6d405
Ensure binary compatibility, apiDump
2021-01-29 12:09:50 +08:00
Him188
6cfd7a34ca
Fix default file type from "" to DEFAULT_FORMAT_NAME
2021-01-29 11:39:54 +08:00
Him188
f18aecbbc1
Add experimental nextEventAsync
2021-01-29 11:22:07 +08:00
Him188
a82c68c7ec
Fix nextEvent cancellation
2021-01-29 11:21:56 +08:00
Him188
49522fb5d3
Make UserProfile impl data class
2021-01-29 10:43:54 +08:00
Him188
32362f02c3
Add Stranger.asFriend and Stranger.asFriendOrNull
2021-01-28 18:02:53 +08:00
Him188
b30e098068
Add EventChannel.filter accepting non-suspend Predicates for Java users
2021-01-28 08:16:35 +08:00
Him188
4881b176a7
Add Group.setEssenceMessage(MessageChain)
2021-01-26 23:10:45 +08:00
Him188
b065b29119
Update docs
2021-01-26 23:05:41 +08:00
Him188
7e4424dc5a
Make ShowImageFlag implement ConstrainSingle and MessageKey
2021-01-26 23:04:39 +08:00
HelloWorld
1df5479c0b
Merge pull request #921 from sandtechnology/showImage
...
Support detect show image, also update pb
2021-01-26 22:26:59 +08:00
mzdluo123
eec2e9f2c1
Merge remote-tracking branch 'origin/dev' into dev
...
# Conflicts:
# mirai-core/src/commonMain/kotlin/contact/GroupImpl.kt
2021-01-26 22:11:08 +08:00
mzdluo123
19829b75f1
add: set group essence message #837
2021-01-26 22:10:05 +08:00
sandtechnology
dd9439d507
Support detect show image, also update pb
2021-01-26 21:22:46 +08:00
Him188
7a6e930fc7
Support key refresh ( #901 )
...
* Add skey tests
* t106
* Fix some protocol errors. skey refresh
* login extra
* Support Key refresh, close #833
* apiDump
* Merge with dev
2021-01-26 19:32:27 +08:00
Him188
d8b1505181
Highway big data channel ( #917 )
...
- Fix retryWithServers exception suppress
- ConfigPush BDH session
- ConfigPush SSO change server
- Upload group PTT silk, #577
- Support upload private image through highway, close #194 ;
- Add fallback strategies for uploading group voice #577 and private image #916
- Upload all resources through highway BDH
- Support concurrent uploading
- Add BotConfiguration.highwayUploadCoroutineCount
close #916 , close #577 , close #194
2021-01-26 19:08:01 +08:00
Him188
8ad0b91974
Fix blocking calls in suspend contexts
2021-01-26 13:38:23 +08:00
Him188
05d302e1a4
Fix docs
2021-01-26 12:42:54 +08:00
Him188
dac3b0f206
Add experimental notes for MusicShare
2021-01-24 01:18:07 +08:00
Him188
8e2e259618
Move queryProfile from Bot to IMirai and add User.queryProfile
2021-01-24 01:15:12 +08:00
Him188
8da048af63
Serialization support for MusicShare;
...
Rename MusicShare.type to kind;
Rename MusicType to MusicKind;
2021-01-24 00:39:05 +08:00
Him188
4977415b79
Add ConfigurationDsl to autoReconnectOnForceOffline
2021-01-23 23:48:58 +08:00
Him188
2e5b223b6a
支持使用QQ互联通道发送音乐分享 ( #889 )
...
* Add new MessageContent MusicShare and its protocol internals. #690 , #682
* MusicShare sending
* MusicShare: MessageSource integration fundamentals
* - MessageReceipt integration for MusicShare
- Support MusicShare in QuoteReply: transform as PlainText
- Support LightApp refining, support decoding MusicShare
* Dump api for MusicShare
* Remove debugging code
* 2.1.0-dev-3
* Remove confusing providedSequenceIds in OnlineMessageSourceToGroupImpl
* fix build
Co-authored-by: wdvxdr <wdvxdr@foxmail.com>
2021-01-23 22:09:27 +08:00
Him188
d60006376c
Rewrite Group sendMessageImpl, improve current Highway impls, for music share #889 #682 and further friend message highway #194 , #577
2021-01-23 00:09:35 +08:00
Him188
66ae897f20
Add ForwardMessageBuilder.add(MessageEvent)
2021-01-23 00:07:37 +08:00
Him188
c7c83bcd03
Add BotConfiguration.autoReconnectOnForceOffline, close #835
2021-01-22 11:00:04 +08:00
sandtechnology
209b2b7616
Support decode the join request by member invite ( #882 )
...
* Support detect official bot, fix #439
* Fix wrong command name and add missed value
* Adapt to changed invite event
* Internal MessageData
* Fix build
* Fix wording
* Support decode the join request by member invite
* Fix shadow warning
* Fix build
* Adapt to MemberJoinEvent broadcast logic when accepted
* Downgrade blockingBridge version to 1.7.2 for passing build
* Fix binary compatibility
* Reformat code
* Update api
Co-authored-by: Him188 <Him188@mamoe.net>
2021-01-22 07:48:10 +08:00
Karlatemp
c77f94cd52
UserProfile query ( #866 )
...
* UserProfile query
* zip vReq0x5ebFieldId
* Move UserProfile to `net.mamoe.mirai.data`
* Move `queryProfile` to high-level api
* Add doc
* Update UserProfile.kt
* Make UserProfile experimental
* Convert UserProfile.sex to enum
* Remove debugging code
* Dump apis
Co-authored-by: Him188 <Him188@mamoe.net>
2021-01-22 07:47:57 +08:00
Him188
f1c6677af9
Add binary compatibility validator
2021-01-21 14:20:43 +08:00
Him188
988794343b
Improve buildscript, fix publication
2021-01-21 10:08:21 +08:00
sandtechnology
3a5d707417
Support detect official bot, fix #439 ( #810 )
...
* Support detect official bot, fix #439
* Fix wrong command name and add missed value
* Adapt to changed invite event
* Internal MessageData
* Fix build
* Fix wording
2021-01-20 19:20:24 +08:00
Him188
73eb4813e5
Support joinTimestamp and lastSpeakTimestamp, fix #865 , fix #394
2021-01-17 19:35:04 +08:00
Him188
3098a7d953
Broadcast FriendAddEvent on acceptNewFriendRequest
2021-01-17 17:18:11 +08:00
Him188
27f0c73dc3
Remove deprecated declarations
2021-01-15 17:49:20 +08:00
Karlatemp
a992b61261
Improve MessageChainBuilder
2021-01-14 23:10:43 +08:00
Him188
3b6b7ad377
Update docs
2021-01-14 18:05:33 +08:00
Him188
b49894a4f1
Merge remote-tracking branch 'origin/dev' into dev
2021-01-14 18:00:25 +08:00
Him188
ac7624dbad
Update docs
2021-01-14 17:59:58 +08:00
Karlatemp
70ffca5138
Unregister listeners after test completed
2021-01-14 11:43:38 +08:00
Him188
70f28fd653
Make StrangerRelationChangeEvent sealed
2021-01-12 18:12:20 +08:00
Him188
0b2bb82d10
Change Member to NormalMember for capable events
2021-01-12 18:11:47 +08:00
sandtechnology
b9f78be0d5
Support C2C sync and fragmented message decoding of friend ( #841 )
...
* Support C2C sync and fragmented message in friend
* Update mirai-core-api/src/commonMain/kotlin/event/events/MessageSyncEvent.kt
* Update mirai-core-api/src/commonMain/kotlin/event/events/MessageSyncEvent.kt
* Update mirai-core-api/src/commonMain/kotlin/event/events/MessageSyncEvent.kt
* Update mirai-core-api/src/commonMain/kotlin/event/events/MessageSyncEvent.kt
Co-authored-by: Him188 <Him188@mamoe.net>
2021-01-11 23:32:32 +08:00
Him188
f053c4cfc0
Improve buildMessageSource and update docs
2021-01-11 22:50:40 +08:00
Him188
98efbfeead
Update docs
2021-01-11 22:36:48 +08:00
Him188
5a867bdaa5
Deprecate MessageSourceAmender.metadataFrom in favour of .metadata
2021-01-11 22:33:26 +08:00
Him188
b41a742ece
Rename toMiraiCode to serializeToMiraiCode;
...
Rename parseFromMiraiCode to deserializeFromMiraiCode
2021-01-11 22:19:27 +08:00
Him188
78bc30ae5d
Update docs
2021-01-11 22:12:00 +08:00
Him188
e8c0ef192c
Update docs
2021-01-11 22:05:04 +08:00
Him188
d1c9acf7f4
Migrate to new GroupTempMessageEvent
2021-01-11 19:26:15 +08:00
Him188
564c961d3f
Add low level APIs for recalling message
2021-01-11 19:11:46 +08:00
Him188
a7dabd63aa
Allow modifying IMirai.Http
2021-01-11 18:57:01 +08:00
Him188
45c5e0fb9c
Change ExternalResource.uploadAsVoice parameter type from Group to Contact for future compatibility.
2021-01-11 18:51:22 +08:00
Him188
93fcb566fd
Introduce AsyncRecallResult for getting result of recallIn
2021-01-11 18:36:04 +08:00