Commit Graph

504 Commits

Author SHA1 Message Date
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