Commit Graph

413 Commits

Author SHA1 Message Date
Him188
a63af80668 Deprecate QQ
Introduce `Friend` extending `User`
Introduce `User` acting as the superclass of `Friend` and `Member`

Add extensions `Member.asFriend`, etc.
Remove specialized `Contact.hashCode` and `Contact.equals`, inherit from `kotlin.Any`
Specify `toString` behavior in abstract `Contact` classes, instead of in implementation classes.

Add virtual member `Contact.sendMessage(String)`

Migrate the project from using `QQ` to `Friend`

Remove multiplatform Contact class structure, keep them common.

Remove extension `Long.at` in `GroupMessage`, `QQ.at` in `ContactMessage`.
Add `At.asMember()` in `GroupMessage`.

Make `calculateGroupUinByGroupCode`, `calculateGroupCodeByGroupUin` static on JVM.
2020-04-22 16:08:04 +08:00
Him188
1542b73fa9 Improve KDoc 2020-04-20 16:55:44 +08:00
Him188
90ee9b441a Rework reconnection, fixes #228 2020-04-15 16:46:39 +08:00
Him188
f5a8420231 Speed up image uploading 2020-04-13 11:13:27 +08:00
Him188
0ef844f79b Fix doc 2020-04-12 20:18:46 +08:00
Him188
b9a3675dad Support Group.quit, add BotLeaveEvent.Active 2020-04-11 20:15:23 +08:00
Him188
418fb43992 Returns botAsMember when Group.get(bot.id) 2020-04-10 19:40:34 +08:00
Him188
882c623823 Add @JvmOverloads for BufferedImage.toExternalImage 2020-04-10 13:42:16 +08:00
Him188
7357169560 Fix build 2020-04-10 13:42:04 +08:00
Him188
c27ee12bdb Simplify MessageReceipt 2020-04-10 11:35:14 +08:00
Him188
ae1156b434 Simplify Contact structure 2020-04-10 11:35:05 +08:00
Him188
ec35eeba1c Simplify Bot structure 2020-04-09 16:14:48 +08:00
ryoii
2053ab198c Support TempMessage 2020-04-08 22:12:18 +08:00
Him188
6480e78b24 Handle ContactList syncing on new friend or member event. 2020-04-08 14:33:13 +08:00
Him188
d9756c212c Add common runBlocking for convenience 2020-04-08 10:49:04 +08:00
ryoii
eec820c1a7 Support for approving requests of adding friend and joining group, close #91 2020-04-07 21:14:34 +08:00
Him188
039b3d7517 Cleanup 2020-04-04 22:17:35 +08:00
Him188
2b49a7586f Reconstruct MessageSource, fix #197, #133 2020-04-04 22:08:53 +08:00
Him188
3cc5cbfcfd Introduce BotIsBeingMutedException to replace IllegalStateException 2020-04-04 14:17:32 +08:00
ryoii
eac23171ec Support Bot.nick, closed #93 2020-04-04 09:47:34 +08:00
Him188
cd41166fc8 Fix init error 2020-04-02 20:43:04 +08:00
Him188
32553fad2b Introduce ContactMessage to replace MessagePacket<*, *> 2020-04-02 20:27:16 +08:00
Him188
3773548983 Replace use of Bot.uin with Bot.id 2020-04-02 19:27:40 +08:00
Him188
d5868ed7c1 Add MessageTooLargeException to differentiate with mute exception 2020-04-02 18:28:19 +08:00
Him188
997261fa3b Make all event implementations internal 2020-04-02 13:20:16 +08:00
Him188
1605a5b68a Fix kick message passing 2020-04-02 12:02:47 +08:00
Him188
9b534aba2c Execute event listeners in IO pool for Java 2020-04-02 09:44:57 +08:00
Him188
97522bdf2a Rearrange internal APIs 2020-04-02 09:43:50 +08:00
Him188
fa1cf3ae1d Fix doc 2020-03-31 13:37:54 +08:00
Him188
55bbdc2cb0 Update docs 2020-03-29 14:01:10 +08:00
Him188
b6c24e008d Plan for redesigning of MessageSource 2020-03-29 13:34:54 +08:00
Him188
04b0287738 Add pre-condition check 2020-03-29 12:41:07 +08:00
Him188
90ef83e345 Move protocol-specific classes to mirai-core-qqandroid 2020-03-29 02:46:38 +08:00
Him188
5672837878 Add gzip and ungzip 2020-03-28 21:53:33 +08:00
Him188
869cb81f7e Remove Bot.contains 2020-03-24 16:41:42 +08:00
Him188
3e1925e2fc Correct JavaHappy to JavaFriendly 2020-03-24 16:39:06 +08:00
Him188
3ba1ae4a5c Adjust visibilities 2020-03-24 16:10:39 +08:00
Him188
94e40e2e6a Annotate new APIs with @SinceMirai("0.30.0") 2020-03-24 15:36:18 +08:00
Him188
8eb597470f Extract group settings to interface GroupSettings 2020-03-24 15:35:03 +08:00
Him188
22ade1afea Correct classname 2020-03-24 15:32:29 +08:00
Him188
a9972dc030 Reduce code redundancy 2020-03-24 15:28:24 +08:00
Him188
ed46780983 Clear all deprecated functions which are for binary compatibility 2020-03-24 15:24:06 +08:00
Him188
eb7afb6cff Update to Kotlin 1.4-M1 2020-03-24 10:01:03 +08:00
Him188
fccb69bb3f Remove all unnecessary java-friendly JvmName magics 2020-03-23 20:05:17 +08:00
Him188
f9a296331d Binary compatibility 2020-03-22 23:42:46 +08:00
Him188
1f60474cb0 Fix #154 2020-03-22 21:31:34 +08:00
Him188
53fdcd41f7 Change sendMessage(MessageChain) to sendMessage(Message) 2020-03-22 14:16:31 +08:00
Him188
55ed5f9d70 Add concurrency control to event listeners 2020-03-20 18:27:04 +08:00
Him188
f015294367 Improve performance 2020-03-17 12:57:26 +08:00
Kenvix
4eb5c8615b Fixed a issue that cause bot initialization failed on headless platform 2020-03-15 22:50:25 +08:00
luo123
6973488db7 move to lowLevelApi.kt 2020-03-14 11:01:21 +08:00
luo123
4e7b3b0048 delete announcement 2020-03-14 00:45:36 +08:00
luo123
e57215a603 send announcement 2020-03-14 00:07:52 +08:00
luo123
aa61e9441a get GroupAnnouncementList is working now 2020-03-13 22:33:11 +08:00
luo123
220d293b7a get group announce list 2020-03-13 21:06:57 +08:00
Cyenoch
b3fa841d5f Addressed an exception that was thrown because InetAddress.getLocalHost().hostAddress might get an ipv6 address 2020-03-11 23:01:53 +08:00
Him188
21abfe4a64 Fix zip and unzip 2020-03-08 22:04:11 +08:00
Him188
243b2ea731 Gather all platform-specified utilities into a MiraiPlatformUtils 2020-03-08 21:14:41 +08:00
Him188
71de716e92 Fix compilation bug 2020-03-08 20:26:37 +08:00
Him188
4cc8808372 Make output open 2020-03-08 20:12:33 +08:00
Him188
7593e34898 Add standard output override 2020-03-08 20:09:53 +08:00
Him188
1ef3eb471b Use custom Json configuration 2020-03-08 00:43:52 +08:00
Him188
e39fe5a46f Merge branch 'master' into kotlin-1.3.70
# Conflicts:
#	mirai-core-qqandroid/src/commonMain/kotlin/net/mamoe/mirai/qqandroid/network/QQAndroidClient.kt
#	mirai-core-qqandroid/src/commonMain/kotlin/net/mamoe/mirai/qqandroid/network/highway/HighwayHelper.kt
#	mirai-core-qqandroid/src/commonMain/kotlin/net/mamoe/mirai/qqandroid/network/highway/highway.kt
#	mirai-core-qqandroid/src/commonMain/kotlin/net/mamoe/mirai/qqandroid/network/protocol/packet/login/WtLogin.kt
#	mirai-core/build.gradle.kts
#	mirai-core/src/androidMain/kotlin/net/mamoe/mirai/utils/addSuppressed.kt
#	mirai-core/src/commonMain/kotlin/net.mamoe.mirai/utils/ExternalImage.kt
#	mirai-core/src/commonMain/kotlin/net.mamoe.mirai/utils/channels.kt
#	mirai-core/src/commonMain/kotlin/net.mamoe.mirai/utils/io/chunked.kt
#	mirai-core/src/commonMain/kotlin/net.mamoe.mirai/utils/io/input.kt
#	mirai-core/src/jvmMain/kotlin/net/mamoe/mirai/utils/addSuppressed.kt
2020-03-08 00:29:51 +08:00
Him188
e60a6bcf68 Revert "Use ktor.io than kotlinx.io" 2020-03-07 22:04:31 +08:00
Him188
b3c4f24e33 Revert "Use io.ktor.utils.io than kotlinx.io"
This reverts commit 6a85769e
2020-03-07 18:48:07 +08:00
Him188
92504fc313 Merge remote-tracking branch 'origin/master' 2020-03-07 11:29:23 +08:00
Him188
26210e7845 Generify functions 2020-03-07 11:29:04 +08:00
Him188
defe7ce054 Fix addSuppressed 2020-03-07 11:19:05 +08:00
Him188
e222465ded Make account internal 2020-03-07 00:24:37 +08:00
Him188
27fe240630 Fix addSuppressed, close #116 2020-03-06 22:06:36 +08:00
Him188
37344c19d6 Fix addSuppressed 2020-03-06 22:04:55 +08:00
Him188
8777d583b0 Merge remote-tracking branch 'origin/kotlin-1.3.70' into kotlin-1.3.70
# Conflicts:
#	mirai-core-qqandroid/src/commonMain/kotlin/net/mamoe/mirai/qqandroid/network/highway/HighwayHelper.kt
#	mirai-core/src/commonMain/kotlin/net.mamoe.mirai/utils/io/chunked.kt
2020-03-05 09:45:12 +08:00
Him188
9bff0f77ec Kotlin 1.3.70 2020-03-05 09:44:50 +08:00
Him188
c962bd2641 Revert "Adapt new kotlinx.serialization"
This reverts commit 0a6b39e6
2020-03-04 14:11:36 +08:00
Him188
60b6eab73e Revert "Update to Kotlin 1.3.70"
This reverts commit 2e57e358
2020-03-04 13:58:01 +08:00
Him188
0a6b39e62c Adapt new kotlinx.serialization 2020-03-04 10:50:54 +08:00
Him188
2e57e358c3 Update to Kotlin 1.3.70 2020-03-04 08:54:56 +08:00
Him188
b5bd36fb8f Avoid self-suppression 2020-03-03 20:04:46 +08:00
Him188
12ebfa1db5 Unified Image types: Online/Offline Image, Group/Friend Image 2020-03-03 13:45:33 +08:00
Him188
dc7d73f148 Misc improvements 2020-03-03 08:43:32 +08:00
Him188
cadbd7ff3a Deprecate Bot.qq, Bot.get, Bot.contains 2020-03-03 08:32:39 +08:00
Him188
28c0530268 Add more builders for Bot 2020-03-03 08:26:15 +08:00
Him188
9a482d1926 Add Java-friendly APIs for MessageReceipt 2020-03-01 20:27:30 +08:00
Him188
e479da9898 Fix return types 2020-03-01 20:26:58 +08:00
Him188
b7fa7adf99 Add Java-friendly APIs for Contacts 2020-03-01 20:13:52 +08:00
Him188
422d84d150 Fix build 2020-03-01 18:55:06 +08:00
Him188
cc840151c1 Fix typo 2020-03-01 18:17:21 +08:00
Him188
dab3448fab Add docs 2020-03-01 18:17:00 +08:00
Him188
8de9357fdd Fix typo 2020-03-01 18:13:29 +08:00
Him188
2cfd8be0f3 Improve Java-friendly APIs, add Java Future apis 2020-03-01 18:09:16 +08:00
Him188
ed712295fe Add Java-friendly APIs 2020-03-01 17:10:55 +08:00
Him188
fb072f3cbb Add Java-friendly APIs 2020-03-01 16:55:58 +08:00
Him188
bd1a968db9 misc 2020-03-01 16:55:33 +08:00
Him188
6a85769e0d Use io.ktor.utils.io than kotlinx.io 2020-02-29 23:19:53 +08:00
Him188
734914ad96 Use ByteArray than IoBuffer 2020-02-29 21:25:13 +08:00
Him188
da8a78af12 Fix contentToString 2020-02-28 21:38:31 +08:00
Him188
cfbf4f8ccc Update md5: support buffers 2020-02-28 19:32:17 +08:00
Him188
932a3ef1f2 Review: misc improvements 2020-02-28 19:16:22 +08:00
Him188
50289924fe Wrap with withContext 2020-02-28 12:43:14 +08:00
Him188
c90013b23f Add flush 2020-02-28 10:46:14 +08:00
Him188
e24617fc64 Add ByteReadChannel.toExternalImage 2020-02-28 09:02:42 +08:00
Him188
82454b0d55 Remove duplicated asOutput and asInput 2020-02-28 08:58:29 +08:00
Him188
32b1decd0d Add detailed exception prompt 2020-02-28 08:56:47 +08:00
Him188
ccc6826e3a Redesign MessageChain:
Make MessageChain immutable
Introduce CombinedMessage, a left-biased list
Introduce MessageChainBuilder
2020-02-23 16:47:21 +08:00
Him188
692e7c950c Image download support, close #49 2020-02-22 23:32:47 +08:00
Him188
0e30d3d69b Better memory management 2020-02-22 11:36:19 +08:00
Him188
67e709452a Fix recursive call 2020-02-21 14:39:14 +08:00
Him188
f5a6040668 Add additional coroutineScope parameter 2020-02-20 13:20:36 +08:00
Him188
3e29fbf34b Reconnect always 2020-02-20 11:35:04 +08:00
Him188
7838ccf042 Adjust file names 2020-02-20 11:23:37 +08:00
Him188
d829060072 Change default config values 2020-02-19 18:33:20 +08:00
Him188
9a436271db Fix uninitialized vars 2020-02-19 18:33:11 +08:00
Him188
89c614d0a1 Fix ECDH curve 2020-02-19 14:44:03 +08:00
Him188
9de13ca6fd Fix ECDH 2020-02-19 14:15:38 +08:00
Him188
57479e0db6 Replace all 登陆s with 登录 2020-02-19 13:25:41 +08:00
Him188
7ad3bfbf8f Add MiraiAtomicBoolean, fuck atomicfu 2020-02-18 21:05:51 +08:00
Him188
29a5ab53a9 Use default shareKey if ECDH is not available 2020-02-18 20:02:13 +08:00
Him188
2b4d9a8e79 Add tryNTimes 2020-02-18 13:35:14 +08:00
jiahua.liu
a2ae001fe1 Console Terminal Chinese Supported 2020-02-16 22:44:56 +08:00
jiahua.liu
e971fd769d Mirai Console (Terminal)V0.01 2020-02-16 20:10:12 +08:00
jiahua.liu
33d5cf566e Mirai Console (Terminal)V0.01 2020-02-16 18:04:42 +08:00
jiahua.liu
d0fb1383a0 Mirai Console V0.01 2020-02-16 17:25:30 +08:00
Him188
cde551625a Fix ecdh availability detect 2020-02-16 01:21:02 +08:00
Him188
b3c97c1678 Simplify 2020-02-16 01:19:22 +08:00
Him188
606879cba1 Test ECDH keyPair before success 2020-02-16 00:19:53 +08:00
Him188
b7e4dc0772 Add default values 2020-02-15 23:24:43 +08:00
Him188
25b3b2b2be Japt 2020-02-15 15:03:52 +08:00
Him188
98de5893d7 Add @JvmStatic and @JvmOverloads 2020-02-15 14:13:07 +08:00
Him188
f989cd9391 Multiplatform Exceptions to deal with kotlin bug 2020-02-15 12:12:30 +08:00
Him188
8eda95659c Fix multiplatform BotConfiguration 2020-02-14 22:15:29 +08:00
Him188
8a4750badb Fix platform implementations 2020-02-14 22:05:59 +08:00
Him188
2ae7c75a16 Add default values 2020-02-14 21:55:28 +08:00
Him188
ace1174678 Fix configuration 2020-02-14 21:54:03 +08:00
Him188
32e854db29 Improve DeviceInfo 2020-02-14 21:09:36 +08:00
Him188
617b231865 japt Events 2020-02-14 20:21:05 +08:00
Him188
843643a78d Add internal functions for japt 2020-02-14 20:20:28 +08:00
Him188
5b4e99c52d Override close explicitly 2020-02-14 20:13:40 +08:00
Him188
7cd65f92af Fix build 2020-02-13 00:27:07 +08:00
jiahua.liu
55e70bd3c3 smart config 2020-02-13 00:10:59 +08:00
Him188
fec3702ba9 Improve performance 2020-02-12 23:09:34 +08:00
Him188
905d4ede9a Fix build 2020-02-12 13:52:07 +08:00
Him188
7891ffc136 Make interface Event the base type of a event, remove interface Subscribable 2020-02-11 11:56:42 +08:00
Him188
e116224180 Move DeviceInfo 2020-02-09 23:20:29 +08:00
Him188
cf7e325259 Add copyright 2020-02-09 01:01:36 +08:00
Him188
4b162c546c Small fixes 2020-02-07 16:57:00 +08:00
Him188
a7857f147d Remove inline modifier 2020-02-07 12:30:26 +08:00
Him188
22096a9f44 Fix bugs 2020-02-06 15:32:33 +08:00
Him188
388e1a5b7f Cleanup 2020-02-06 13:58:57 +08:00
Him188
37745b839e Add docs 2020-02-05 10:40:10 +08:00
Him188
f793a67ab3 close streams after copying 2020-02-04 08:53:57 +08:00