Commit Graph

625 Commits

Author SHA1 Message Date
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
Him188
84ecb1df11 Update docs 2021-01-11 18:08:01 +08:00
Him188
3e68f4f95e Update docs 2021-01-11 18:06:59 +08:00
Him188
8445048df4 Review deprecation, remove 2.0-M2 migrations 2021-01-11 18:04:42 +08:00
Him188
499a518016 Add Bot.close(), improve docs 2021-01-11 17:59:54 +08:00
Him188
1d4867d9b6 Merge remote-tracking branch 'origin/dev' into dev 2021-01-11 17:39:28 +08:00
Him188
7f8003478c Make OtherClientInfo.platform nullable. 2021-01-11 17:14:24 +08:00
Him188
c074bef9c6 Deprecate TempMessageEvent and add GroupTempMessageEvent for #429 2021-01-11 17:09:01 +08:00
sandtechnology
268dcc7039
Support PushStatus and add new ClientKind, Fix #787 (#836)
* Support PushStatus and improve ClientKind

* Revert NotNull changes
2021-01-10 23:18:14 +08:00
Him188
9a57a3cfc2 [Review] MessageSource:
- Remove isAboutXXX
2021-01-10 20:31:00 +08:00
Him188
a2d9dbfcc4 [Review] Messages:
- Optimize empty message chain on builders
- Remove `QuoteReply.bot`
- Code style
- Docs
2021-01-10 18:02:07 +08:00
Him188
15a9d5c983 [Review] MessageChainBuilder: do not check built 2021-01-10 04:30:15 +08:00
Him188
938cc6dd07 [Review] MiraiCode and message serialization:
- Add extensions for Kotlin callers
2021-01-10 04:16:59 +08:00
Him188
1a1eb0e2a4 [Review] MessageSourceBuilder 2021-01-09 21:36:27 +08:00
Him188
3e4d279bcc Change TempMessageEvent.sender from Member to NormalMember 2021-01-09 20:55:50 +08:00
Him188
6972a84007 Separate events to reduce file size 2021-01-09 20:47:44 +08:00
Him188
8333dfa52a Update docs 2021-01-09 20:21:20 +08:00
Him188
989cd3292e Merge remote-tracking branch 'origin/dev' into dev 2021-01-09 14:54:02 +08:00
Karlatemp
bca98c72d5
Fix StackOverflowError in QuoteReply
fix #829
2021-01-09 13:11:07 +08:00
Him188
619dafa1ae [Review] Move Listener.ConcurrencyKind and Listener.EventPriority to top-level 2021-01-08 12:41:42 +08:00
Him188
4e2108d841 [Review] NudgeEvent: Simplify and stabilize NudgeEvent, remove all XXXNudgeEvent, add single NudgeEvent 2021-01-08 12:28:12 +08:00
Him188
7dd7f48994 Don't catch Error while reconnecting and sending packet, fix #824 2021-01-08 12:03:42 +08:00
Him188
b32090bf2a [Review] OtherClient:
- Change Bot.otherClients to ContactList<OtherClient>
- Change OtherClient.id to delegate info.appId
- Stabilize OtherClientInfo
2021-01-08 11:42:44 +08:00
Him188
1885db5523 Code cleanup 2021-01-08 11:37:09 +08:00
Him188
179746c5f7 Update docs 2021-01-08 11:24:23 +08:00
Him188
8abbfbe4c5 [Review] ContactList: deprecate ContactList<*>.idContentString 2021-01-08 11:24:13 +08:00
Him188
3f3ba48b24 [Review] Member: deprecate Member.isNormal and Member.isAnonymous for simplicity 2021-01-08 11:19:53 +08:00
Him188
976901603e [Review] MessageRecallEvent: make author and operator not null 2021-01-08 11:11:45 +08:00
Him188
03ab43ad17 Merge remote-tracking branch 'origin/dev' into dev 2021-01-08 10:58:40 +08:00
Him188
ea4c82d3c5 [Review] Event: review type hierarchy, add UserEvent 2021-01-08 10:57:26 +08:00
Him188
6b11ae7320 [Review] MessageEvent: Implement UserMessageEvent and rearrange code 2021-01-08 10:52:03 +08:00
Him188
355fef4c33 [Review] MessageEvent: remove deprecated extensions 2021-01-08 10:43:41 +08:00
Him188
7f9b500e22 [Review] EventChannel: Update docs 2021-01-08 10:37:20 +08:00
Him188
7fea4f4b9e Remove migration for EventChannel 2021-01-08 10:17:30 +08:00
Him188
2049a9d5af Update docs 2021-01-08 10:10:45 +08:00
Him188
abcac7ff23 [Review] subscribeMessages: simplify implementations 2021-01-08 10:05:37 +08:00
Him188
f31fbafd02 [Review] MessageSelectBuilder: remove dark magics 2021-01-08 09:51:42 +08:00
Him188
70633a631a [Review] MessageSubscribersBuilder: stabilization. 2021-01-08 09:50:07 +08:00
Him188
98545e6f6f [Review] FileCacheStrategy: delete temp file on closure 2021-01-08 09:44:29 +08:00
Him188
2abeb329f6 Add ExternalResource.closed;
Move ExternalResource implementations to internal package
2021-01-08 09:44:13 +08:00
Him188
0ac7cb63f1 [Review] FileCacheStrategy 2021-01-08 09:25:51 +08:00
Him188
9c995284f0 [Review] MiraiCode:
- Add object MiraiCode for mirai code utilities
- Internal optimizations
2021-01-08 09:20:24 +08:00
Him188
b4f60582fd Update docs 2021-01-08 09:12:36 +08:00
sandtechnology
eadb217b4a
Add missed data modifier to honor event (#819)
* Add missed data modifier

* Add toString for MemberHonorChangeEvent

Co-authored-by: Him188 <Him188@mamoe.net>
2021-01-08 09:03:10 +08:00
Him188
cae9775c52 Fix docs 2021-01-08 08:45:47 +08:00
Him188
7bdd8e1580 [Review] Remove unused CombinedMessage.kt 2021-01-08 08:39:47 +08:00
Him188
b17c269b62 [Review] Add FlashImage.from(Image), remove deprecated FriendImage.flash and GroupImage.flash 2021-01-08 08:33:47 +08:00
Him188
cbbb6f27af Update docs 2021-01-08 08:26:38 +08:00
Him188
348b4ff89e Fix build 2021-01-07 21:50:45 +08:00
Him188
ca6dbd2740 [Review] Improve Message.isContentEmpty, add Message.isContentBlank 2021-01-07 21:45:09 +08:00
Him188
3cda506c46 [Review] Deprecate:
- Message.isContentNotEmpty
- Message.isPlain
- Message.isNotPlain
2021-01-07 21:39:37 +08:00
Him188
f7a6289d34 [Review] Rearrange Message extensions 2021-01-07 21:36:37 +08:00
Him188
c50324b931 [Review] Add DeprecationLevel.ERROR to deprecated 'flatten' 2021-01-07 21:31:33 +08:00
Him188
64e155a08d [Review] Make MessageChainBuilder final 2021-01-07 21:30:09 +08:00
Him188
668398c597 Fix build 2021-01-07 21:11:30 +08:00
Him188
986ebd3c5c [Review] Mirai code: rename CodableMessage.appendAsMiraiCode to appendMiraiCodeTo 2021-01-07 21:05:36 +08:00
Him188
d4852ceb6f [Review] Add missing @MiraiExperimentalApi to appendMiraiCode 2021-01-07 20:53:29 +08:00
Him188
43b422b540 [Review] MessageChain: rename asMessageChain to toMessageChain, remove flatten 2021-01-07 20:49:37 +08:00
Him188
faece77942 [Review] Rearrange utilities 2021-01-06 16:09:44 +08:00
Him188
41a34bdf65 [Review] Extract MessageSerializersImpl to separate file 2021-01-06 15:55:26 +08:00
Him188
9e631111d4 [Review] Message serialization: ignoreUnknownKeys by default 2021-01-06 15:45:10 +08:00
Him188
3b7be90a84 [Review] Move File.loadAsDeviceInfo to DeviceInfo companion 2021-01-06 15:26:35 +08:00
Him188
a511bfc3b4 [Review] Rename subscriber.kt to Listener.kt 2021-01-06 15:25:50 +08:00
Him188
3d5159f9e5 [Review] Rename linear.kt to syncFromEvent.kt 2021-01-06 15:25:36 +08:00
Him188
3da76125a6 [Review] Stable Stranger.nudge 2021-01-06 15:17:14 +08:00
Him188
1783a69be2 [Review] Remove LockFreeLinkedList 2021-01-06 15:16:47 +08:00
Him188
24fdf056c2 [Review] Move LazyProperty to Annotations.kt 2021-01-06 15:14:00 +08:00
Him188
382d3d08d4 [Review] Move WeakRef to mirai-core-utils 2021-01-06 15:13:15 +08:00
Him188
3c0bc21816 [Review] Remove Channels.kt 2021-01-06 15:09:21 +08:00
Him188
1059ab44bc [Review] Rename lowLevelApi.kt to LowLevelApiAccessor.kt 2021-01-06 15:04:24 +08:00
Him188
5b74f2a64e [Review] Move JavaFriendlyApi to Annotations.kt 2021-01-06 15:02:49 +08:00
Him188
58c2a2edb8 Add Message.plus(Array<out Message> 2021-01-06 15:00:05 +08:00
Him188
1215a56775 [Review] LowLevelApiAccessor:
- Rename method names, remove "_lowLevel"
- Add blocking bridges
2021-01-06 14:58:06 +08:00
Him188
bca15cd09f Fix RichMessage.key generics 2021-01-06 14:38:09 +08:00
Him188
cab8e2f674 Implement ConstrainSingle for ForwardMessage 2021-01-06 14:37:52 +08:00
Him188
ebc7d655e3 Message serialization, fix #767 2021-01-06 13:14:57 +08:00
Him188
bfd21cbb92 Make properties in MessageKey with @JvmField to allow @JvmField in inherited classes 2021-01-06 08:13:22 +08:00
Him188
1d24a810fe Unify image id 2021-01-05 23:28:34 +08:00
Him188
54add6df78 Add BotConfiguration.workingDir 2021-01-05 21:04:04 +08:00
Him188
767eb75d4e Move Http client from MiraiPlatformUtils to IMirai.Http
Delete MiraiPlatformUtils

Add timeout configuration for ktor HttpClient, fix #673
2021-01-05 20:43:04 +08:00
Him188
d99fc810f9 Improve docs 2021-01-05 20:35:23 +08:00
Him188
d5cdd9e161 Improve file type detecting 2021-01-05 20:35:10 +08:00
Him188
f6faf19ad8 Improve docs 2021-01-05 20:29:24 +08:00
Him188
95e6ca4c7a Add BotOfflineEvent.reconnect, support auto-reconnect control.
AbstractBot.offlineListener is now MONITOR
2021-01-05 20:23:00 +08:00
sandtechnology
7d43ab20f8
Syncing when joined group by other client & Add missed invitor in invite event (#804)
* Introduce UserInfo and change uin to id

* Stranger api: List and asStranger

* Stranger api: Events

* Stranger api: MessageDSL and MessageSource

* Update docs

* Improve LoginSolver

fix project-mirai/mirai-login-solver-selenium#4

* Improve SeleniumLoginSolver loading

* Fix MessageChain.fragmented

* 2.0-M2-1

* Stranger api change: StrangerRelationChangeEvent

* Stranger impl: list and asStranger

* Stranger impl: get stranger list and del stranger protocol

* Stranger impl: add stranger protocol

* Stranger impl: MessageSource refactor and sending&receiving message

* Stranger impl: Dropping long message support (server rejected)

* Stranger impl: sending stranger message when member is stranger

* Fix wrong key

Co-authored-by: Him188 <Him188@mamoe.net>

* Add @LowLevelApi

Co-authored-by: Him188 <Him188@mamoe.net>

* Remove redundant val modifier

* Replace nudge if statement to when statement

* Move list seq to QQAndroidClient

* Replace id with uin in UserInfo and fix build error

* Using by lazy in asStranger

* Fix wrong wordings

* Fix wrong wordings in uploading image

* Fix nudge

* Fix #478, sync other client join group

* Change to NormalMember and update toString method

Co-authored-by: Karlatemp <karlatemp@vip.qq.com>

* Launch on bot network scope

Co-authored-by: Him188 <Him188@mamoe.net>

* Fix TarsDecoder

fix #762

* Fix TarsInput.skipField

Co-authored-by: Him188 <Him188@mamoe.net>
Co-authored-by: Karlatemp <karlatemp@vip.qq.com>
2021-01-05 17:27:40 +08:00
sandtechnology
1117c14c7d
Support Stranger & Fix #664 (#795)
* Introduce UserInfo and change uin to id

* Stranger api: List and asStranger

* Stranger api: Events

* Stranger api: MessageDSL and MessageSource

* Update docs

* Improve LoginSolver

fix project-mirai/mirai-login-solver-selenium#4

* Improve SeleniumLoginSolver loading

* Fix MessageChain.fragmented

* 2.0-M2-1

* Stranger api change: StrangerRelationChangeEvent

* Stranger impl: list and asStranger

* Stranger impl: get stranger list and del stranger protocol

* Stranger impl: add stranger protocol

* Stranger impl: MessageSource refactor and sending&receiving message

* Stranger impl: Dropping long message support (server rejected)

* Stranger impl: sending stranger message when member is stranger

* Fix wrong key

Co-authored-by: Him188 <Him188@mamoe.net>

* Add @LowLevelApi

Co-authored-by: Him188 <Him188@mamoe.net>

* Remove redundant val modifier

* Replace nudge if statement to when statement

* Move list seq to QQAndroidClient

* Replace id with uin in UserInfo and fix build error

* Using by lazy in asStranger

* Fix wrong wordings

* Fix wrong wordings in uploading image

* Fix nudge

Co-authored-by: Him188 <Him188@mamoe.net>
Co-authored-by: Karlatemp <karlatemp@vip.qq.com>
2021-01-01 21:39:45 +08:00
Him188
b482590ce1 Remove redundant checks 2021-01-01 16:15:55 +08:00
Him188
9c6780d5c4 Use DEFAULT_FORMAT_NAME 2021-01-01 16:15:35 +08:00
Him188
fc2df4b9ad Add implementation notes 2021-01-01 16:15:00 +08:00
Him188
fb8c17c6dc Add formatName parameters to uploadImage and sendImage extensions, improve docs 2021-01-01 16:09:29 +08:00
Him188
68729cdcba Fix: Add parentScope for (ListenerHost&CoroutineScope).registerTo 2020-12-31 23:28:21 +08:00
Him188
1da229ac22 Update docs 2020-12-31 18:51:36 +08:00
Him188
3bfbf91589 Implement ForwardMessage.contentToString (returns "[转发消息]"), fix #781 2020-12-31 17:41:51 +08:00
Him188
c82eb29769 MarketFace should not implement CodableMessage 2020-12-31 17:33:31 +08:00
Him188
59b4bdfa8d Add @MiraiExperimentalApi to Voice properties 2020-12-31 17:22:13 +08:00
Karlatemp
c966d9840e
Fix Bot.getFriend 2020-12-30 23:23:33 +08:00
Him188
d33420c33d
Delete README.md 2020-12-30 22:54:00 +08:00
Him188
2fcaaa9e60 Merge remote-tracking branch 'origin/dev' into dev 2020-12-30 19:42:46 +08:00
Him188
5049836eaa Fix baseKeys of OnlineMessageSource.Outgoing and OnlineMessageSource.Incoming 2020-12-30 19:37:32 +08:00
Him188
8732cc1fc4 Bot.getFriend now returns Bot.asFriend if id == bot.id 2020-12-30 19:34:57 +08:00
Karlatemp
9ba4a99cb1
Improve SeleniumLoginSolver loading 2020-12-30 18:24:45 +08:00
Karlatemp
e9e9a12137
Improve LoginSolver
fix project-mirai/mirai-login-solver-selenium#4
2020-12-30 18:22:57 +08:00
Him188
d33948ac14 Review nudge, stabilize nudge API. 2020-12-28 19:23:35 +08:00
Him188
084e18c204 Update docs 2020-12-28 19:20:49 +08:00
Him188
8ae8bdee64 Add Missing @MiraiInternalApi to ClientKind.get 2020-12-28 19:16:29 +08:00
Him188
31a8932070 Fix voice upload 2020-12-28 15:10:47 +08:00
Him188
dfad8572ee Use OkHttp client than CIO 2020-12-28 15:10:32 +08:00
Him188
fc72811e2a Hide Message serializers and postpone implementations later 2020-12-28 14:20:51 +08:00
sandtechnology
ca5835e058
Support delete friend (#776)
* Support delete friend

* Improvement Member delete

* Add @JvmBlockingBridge

* Revert changes in GetFriendListReq

* Fix build error

* Apply suggestions, check if friend still exist before executing

Co-authored-by: Him188 <Him188@mamoe.net>

* Just let delete function existed in Friend

* Delete missed delete function

* Revert kick function return value to unit

* Let delete function throwing exception instead of returning boolean

* Update doc

* Revert missed kick function change

Co-authored-by: Him188 <Him188@mamoe.net>
2020-12-28 00:36:34 +08:00
sandtechnology
2b1fe9f27a
Support Group Honor (Talkative Only) (#774)
* Support Group Honor (Talkative Only)

* Apply suggestions from code review

Co-authored-by: Him188 <Him188@mamoe.net>

* Replace Member with NormalMember

Co-authored-by: Him188 <Him188@mamoe.net>
2020-12-28 00:34:55 +08:00
Him188
b0b6c20258 Move internal declarations to internal package 2020-12-27 23:54:47 +08:00
Him188
8f4d51ca36 Improve docs 2020-12-27 23:52:29 +08:00
Him188
9c1c0be84d Merge remote-tracking branch 'origin/dev' into dev 2020-12-27 23:51:14 +08:00
Him188
b40b2232e6 Move MessageReceipt static functions to member ones 2020-12-27 23:50:54 +08:00
Karlatemp
dcf95c48f8
Fix doc 2020-12-27 23:44:27 +08:00
Him188
f12ee89d08 Improve docs 2020-12-27 23:37:30 +08:00
Him188
42f824d516 Integrate Voice APIs with ExternalResource 2020-12-27 23:31:04 +08:00
Him188
1db66c49d0 Fix LoginSolver.isSliderCaptchaSupported, improve docs 2020-12-27 23:18:20 +08:00
Him188
16e4bde07e Stable MessageKey 2020-12-27 23:04:16 +08:00
Him188
b2f0424418 Remove deprecated APIs 2020-12-27 22:47:31 +08:00
Him188
6dc64cac35 Deprecate MessageEventExtensions, close #459 2020-12-27 22:30:43 +08:00
Him188
392d62142b Fix tests 2020-12-27 20:36:11 +08:00
Him188
0406a6dc1b Move external resource extensions to their correct companions 2020-12-27 20:34:35 +08:00
Him188
fc3d880e19 Move Contact.sendImage from ExternalResource to Contact 2020-12-27 20:19:04 +08:00
Him188
ec6e23d450 Introduce EventChannel.registerListenerHost and deprecate ListenerHost.registerEvents 2020-12-27 15:57:27 +08:00
Him188
de4bbafbd4 Unified FriendInfoImpl and MemberInfoImpl 2020-12-27 15:28:54 +08:00
Him188
83781b7cda Remove unnecessary UnsafeVariance on Bot.eventChannel 2020-12-27 15:08:24 +08:00
Him188
5b534af4fe Extract GlobalEventChannel to separate file 2020-12-27 15:07:41 +08:00
Him188
ec75734763 Extract ExceptionInEventChannelFilterException to separate file 2020-12-27 15:06:21 +08:00
Him188
ac95ef4472 Move EventChannel kotlin function reference extensions to separate file 2020-12-27 15:05:30 +08:00
Him188
7df0c96004 Add Java friendly functional event subscribers to EventChannel 2020-12-27 14:47:09 +08:00
Him188
ff5db553de Add configuration dsl to BotFactory member functions for Java users 2020-12-27 14:24:01 +08:00
Him188
eacdfed97a Fix serialization 2020-12-26 23:42:44 +08:00
Him188
5196cc410a Bot.otherClients now does not include self, close #770 2020-12-26 22:22:06 +08:00
Him188
822c3049c2 Fix package 2020-12-26 22:16:27 +08:00
Him188
bfda72e58f
ExternalResource (#754)
* ExternalResource fundamentals:
- Introduce ExternalResource
- Migrate functions
- Move utilities to mirai-core-utils

* Fix build

* Fix filename and misc improvements

* Close file on ExternalResource.close;
Reset filePointer to 0 on stream close

* Rearrange image extensions

* Fix tests

* Fix build

* toExternalResource: formatName = null by default

* Reduce unnecessary continuations

* Fix ExternalResourceImplByFileWithMd5.inputStream

* ExternalResource: Remove BufferedImage support

* Don't close stream on image upload;
Unified closing behaviorImprove;
Improve FileCacheStrategy;

* Fix createImageDataPacketSequence closing

* Fix image upload, change size to long

* Fix docs

* Rename SendImageUtilsJvmKt to SendResourceUtilsJvmKt

* Run BIO appropriately

* Postpone file detection on formatName getter

* Fix SendResourceUtilsJvmKt JvmName

Co-authored-by: Karlatemp <karlatemp@vip.qq.com>
2020-12-26 17:36:00 +08:00
Karlatemp
471e70205e
Covert SimpleListenerHostTest to kotlin 2020-12-26 16:43:10 +08:00
Karlatemp
2f903cef9e
Mirai code (#768)
* Mirai Code

* cleanup code

* mirai code of MarketFace
2020-12-26 15:55:13 +08:00
sandtechnology
ed289ed81d
Support MarketFace (#761)
* Support MarketFace

* Change HummerMessage to interface

* Let MarketFace implement HummerMessage

* Move MessageKey implementation to MarketFace

* Chang baseKey to HummerMessage
2020-12-25 21:32:31 +08:00
Karlatemp
39db2c8533
SeleniumLoginSolverSupport 2020-12-25 21:06:16 +08:00
Him188
c0d95ae958
Introduce EventChannel (#753)
* Introduce EventChannel, close #514

* Fix generics in EventChannel

* Don't require Job in CoroutineScope for EventChannel.parentScope

* Don't attach child job on EventChannel.parentJob

* Improve tests

* Fix tests

* Merge with dev
2020-12-25 18:49:34 +08:00
Him188
3ce6f092a1 Support OtherClient list sync after login, support deviceName 2020-12-24 23:37:52 +08:00