Commit Graph

309 Commits

Author SHA1 Message Date
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
Him188
245ece7b40 Update docs 2020-12-24 15:38:02 +08:00
Him188
08b46a487c Add Group.getMember and Group.getMemberOrFail as disambiguation with get in some contexts. 2020-12-24 14:59:20 +08:00
Him188
c4791b0a5f Add recallIn 2020-12-24 14:54:08 +08:00
Him188
89ec0b6a4f Internal optimizations 2020-12-24 13:48:23 +08:00
Him188
3ac188bb64 Internal optimizations 2020-12-24 13:14:07 +08:00
Him188
9c7181779f Fix GroupMessageSyncEvent.toString 2020-12-24 13:07:45 +08:00
Him188
bef91ea9d0 Support syncing message sent from other clients, close #644 2020-12-24 13:05:17 +08:00
Him188
77b5de8d41 Declare Bot.asFriend stable 2020-12-24 12:47:28 +08:00
Him188
bf095866a8 Declare Group.botAsMember stable 2020-12-24 12:47:10 +08:00
Him188
15ee2303c2 Throw UnsupportedOperationException for OtherClient.sendMessage and OtherClient.uploadImage 2020-12-24 11:48:09 +08:00
Karlatemp
1e53f56212
Rename NotSupportedSliderCaptchaException to UnsupportedSliderCaptchaException 2020-12-24 01:14:27 +08:00
Karlatemp
2b12ae0ded
typo 2020-12-24 01:07:41 +08:00
Karlatemp
5db71cd299
Disable SliderCaptcha. #745 2020-12-24 00:34:13 +08:00
Him188
f613b7f7b7 Support other client messages:
- Add OtherClientMessageEvent
2020-12-23 22:46:10 +08:00
Him188
3b35dbcac5 Support OtherClient online status:
- Add ClientKind
- Add OtherClientOnlineEvent,OtherClientOfflineEvent
- Add Bot.otherClients
- Add OtherClientList
2020-12-23 20:57:39 +08:00
Him188
f1136e9b37 Add ContactList.getOrFail 2020-12-23 20:50:12 +08:00
Him188
8b988585d6 Add OtherClient 2020-12-23 20:15:11 +08:00
Him188
e978918303 Change event constructors from internal to public with @MiraiInternalApi 2020-12-23 19:53:37 +08:00
Him188
85853b88c1 Add ContactOrBot.bot 2020-12-23 19:30:15 +08:00
Him188
8d0d53a8b8 Suppress UNUSED_PARAMETER for JvmMethodEventsTestJava 2020-12-23 18:41:55 +08:00
Him188
c0c7853ab7 Fix build 2020-12-23 18:38:46 +08:00
Him188
f691a8f3e0 Add ContactOrBot.avatarUrl 2020-12-23 18:35:36 +08:00
Him188
cce37faae9 Add Message.contentEquals parameter strict for checking element properties. 2020-12-23 18:23:17 +08:00
Him188
4a8aded303 Fix doc 2020-12-23 18:02:44 +08:00
Him188
ff855fc6f1 Add Message.deserializeFromJsonString and Message.serializeToJsonString 2020-12-23 18:02:35 +08:00
Him188
21cb125984 Move MessageKey from Message.kt to MessageKey.kt 2020-12-23 17:51:13 +08:00
Him188
77a4aa8977 Code cleanup, improve docs 2020-12-23 17:48:22 +08:00
Him188
75d5020a0a Improve docs 2020-12-23 17:44:33 +08:00
Him188
ed2c223125 Implement MessageChain.hashCode and MessageChain.equals 2020-12-23 17:41:01 +08:00
Him188
93aeda2aeb Merge remote-tracking branch 'origin/dev' into dev 2020-12-22 13:15:24 +08:00
Him188
55a7ca82f7 Wrap exceptions thrown in EventHandler with relevant event so as to allow obtaining event instance in SimpleListenerHost.handleException. Fix #533 2020-12-22 13:15:02 +08:00
Him188
d7bddc77ed
Merge pull request #749 from sandtechnology/Fix-login
Fix protocol error again, thanks to @wdvxdr1123 and MiraiGo
2020-12-22 11:14:20 +08:00
Him188
6540b71bbd
Merge pull request #748 from lc6a/dev
Update README.md
2020-12-21 22:48:03 +08:00
sandtechnology
5a7771012b Fix protocol error again, thanks to @wdvxdr1123 and MiraiGo 2020-12-21 22:45:56 +08:00
lc6a
87407e97d9
Update README.md
修改写错的内容
2020-12-21 22:09:56 +08:00
Karlatemp
2b041f64f8
Merge branch 'anonymous' into dev, close #432 2020-12-21 13:05:08 +08:00
sandtechnology
23114b7e81
Support New QQ System Faces (#720)
* Update QQ original faces name

* Add missed channel check

* Change data struct to array

* Revert "Add missed channel check"

This reverts commit e30f97dc

* Remove author

* Make internal

* Update Face implement

* Support decode and encode new system faces

* Correct the magic number

* Lazy name val

* Fix naming inconsistent

* Revert "Fix naming inconsistent"

This reverts commit b7db927f

* Fix naming inconsistent again
2020-12-20 20:59:34 +08:00
Karlatemp
de3fd9d698
Merge remote-tracking branch 'origin/dev' into anonymous
# Conflicts:
#	mirai-core/src/commonMain/kotlin/message/incomingSourceImpl.kt
2020-12-20 15:53:06 +08:00
Karlatemp
c934ff5b89
Use ConcurrentLinkedQueue for EventSystem, #630 2020-12-20 10:49:17 +08:00
Karlatemp
c96e7b609e
Support anonymous in network 2020-12-20 09:56:42 +08:00
Karlatemp
1083e5d625
Low level api for mute AnonymousMember 2020-12-20 09:51:23 +08:00
Him188
565abae671 Improve docs 2020-12-20 09:46:14 +08:00
Him188
51703eb8ba Check mirai.no-desktop 2020-12-20 09:46:02 +08:00
Him188
9d8e0ebf02 Improve StandardCharImageLoginSolver:
- Add loggerSupplier
- Improve log message
2020-12-20 09:45:04 +08:00
Him188
e3b553b4de Improve LoginSolver, close #703:
- Remove DefaultLoginSolver (originally experimental API)
- Add docs
- No default instance for Android platform
- LoginSolver.Default is nullable now (in case on Android platform)
- BotConfiguration.loginSolver is nullable now (meaning not provided by the user)
2020-12-20 09:19:52 +08:00
Him188
56e7d4de3d Fix MessageRecallEvent.FriendRecall.authorId, close #704; Add MessageRecallEvent.author 2020-12-20 08:42:34 +08:00
Him188
4474a86e59 Merge remote-tracking branch 'origin/dev' into dev 2020-12-20 08:22:21 +08:00
Him188
d51b268c15 Kill bot on returnCode <=-10000, fix #691 2020-12-20 08:21:50 +08:00
Him188
279758f08f
Merge pull request #728 from sandtechnology/Fix-voice
Fix #577: voice compression
2020-12-20 08:10:14 +08:00
Him188
79242ed483 Add BuilderInference to selectMessages and whileSelectMessages 2020-12-20 08:05:32 +08:00
Him188
945bcc9b5b Add MessageChain.findIsInstance 2020-12-20 08:04:56 +08:00
Him188
65d98314e0 Add AbstractMessageEvent to fix #732 2020-12-19 22:53:35 +08:00
Karlatemp
3252221308
fix protocol
Thanks Mrs4s/MiraiGo

fix #737
Maybe fix:#717
2020-12-19 21:42:21 +08:00
Karlatemp
7994bcec0e
Fix EventListeners for Java
fix #738
2020-12-19 19:41:31 +08:00
Him188
59eea052be Update docs 2020-12-19 13:57:38 +08:00
Him188
cc8856ed1a Update docs 2020-12-19 11:15:57 +08:00
Him188
3ffdde0ca2 Use ConcurrentHashMap for Bot._instance, fix #727 2020-12-19 08:42:35 +08:00
sandtechnology
ea113dd246 Fix #577 2020-12-19 01:45:19 +08:00
Him188
13215ea34d Update docs 2020-12-19 00:22:25 +08:00
Him188
d414ce7ce7 Add migration helper for PokeMessage.type 2020-12-18 21:10:24 +08:00
Him188
dee81e6257 Change annotation Retention to BINARY for MiraiInternalApi, MiraiExperimentalApi, MemberDeprecatedApi 2020-12-18 21:03:31 +08:00
Him188
4eb0c80f08 Merge remote-tracking branch 'origin/dev' into dev 2020-12-18 20:51:29 +08:00
Karlatemp
2340486db8
Re-design Member interfaces #725 2020-12-18 20:31:24 +08:00
Him188
cf908472e2 Add migration helper for ServiceMessage 2020-12-18 20:12:06 +08:00
Him188
669b04b287 Add At.getDisplay 2020-12-18 19:56:39 +08:00
Him188
6efb2ae525 Add migration helper for At.display 2020-12-18 19:42:35 +08:00
Him188
0e19197361 Add migration helpers for OfflineMessageSource.Kind 2020-12-18 19:39:33 +08:00
Him188
a5e9bef3b6 Update docs 2020-12-18 16:26:59 +08:00
Him188
82f24b736c Fix HMPP platform structure 2020-12-18 15:37:13 +08:00
Him188
19e54d16f2 Fix build 2020-12-18 15:25:23 +08:00
Him188
f1dcda4239 Dont' suggest static import on migration for deprecated declarations in Bot.Companion 2020-12-18 15:08:11 +08:00
Him188
20a6896755 Add migration helpers for MessageEvent 2020-12-18 14:40:21 +08:00
Him188
5737dc7463 Add migration helpers for BotFactory 2020-12-18 14:29:16 +08:00
Him188
b63df48729 Add BotFactory.newBot defaults 2020-12-18 14:26:44 +08:00
Him188
61533fe8c1 Add docs 2020-12-18 14:15:08 +08:00
Him188
9c22de03e0 Add migration helper for MiraiLogger 2020-12-18 14:14:38 +08:00
Him188
bf88731086 Fix publishing and add mirai-core-all 2020-12-17 12:41:44 +08:00
Him188
ee36735632 Add deprecated constructor for migration 2020-12-17 11:34:41 +08:00
Him188
95013a6ca2 Change Duration.asHumanReadable to Duration.toHumanReadableString for clearer semantics 2020-12-17 09:21:59 +08:00
Him188
9c71a9c953 Change Bot to interface 2020-12-17 09:08:26 +08:00
Him188
caeedf5d5d Move TimeUtils from mirai-core-api to mirai-core-utils 2020-12-17 08:31:24 +08:00
Him188
16eaeac371 Deprecate Member.mute(Int) extension 2020-12-17 08:23:49 +08:00
Him188
e0b8bf687d Deprecate Member.takeIfIsFriend 2020-12-17 08:21:19 +08:00
Him188
d5c94f26b4 Add Group.contains(Member) 2020-12-17 08:16:51 +08:00
Him188
10c1bc4d8b Add doc for IMirai.BotFactory 2020-12-16 23:14:11 +08:00
Him188
c478f24db0 Update to 8.4.18 2020-12-16 22:57:37 +08:00
Him188
0888cd3f5b Change BotNudgedEvent.from to UserOrBot 2020-12-16 21:32:29 +08:00
Him188
8fa6189138 Improve nudge:
- Introduce common UserOrBot.nudge for User and Bot
- Update docs
2020-12-16 19:48:06 +08:00
Him188
fa983e38cf Implement QuoteReply.toString 2020-12-16 19:35:53 +08:00
Him188
51c9bf5d2b Review MessageReceipt:
- Remove constructor parameter botAsMember
- Add extensions
2020-12-16 19:31:05 +08:00
Him188
e7632f05d6 Migrate deprecated calls 2020-12-16 19:21:47 +08:00
Him188
4fb3d6c2b3 Internal: Suppress UnusedParameter 2020-12-16 19:16:31 +08:00
Him188
03f8cc9713 Update mirai code parser for new At 2020-12-16 19:16:14 +08:00
Him188
6c0b6473ed Make Group.get, Bot.getFriend, Bot.getGroup return nullable. Add getOrFail for migration 2020-12-16 19:11:42 +08:00
Him188
c6eef9f68e Internal code style 2020-12-16 18:36:56 +08:00
Him188
fefadad3f4 Add blocking bridges to events 2020-12-16 18:33:56 +08:00
Him188
5459e1c577 Add Contact.sendMessage(String) for convenience 2020-12-16 18:16:46 +08:00
Him188
2ed112bb5e Improve message 2020-12-16 18:16:06 +08:00
Him188
0662e48fd2 Use ConcurrentLinkedQueue instead of LockFreeLinkedList for ContactList 2020-12-14 19:46:56 +08:00
Him188
47b4c0f8c1 Remove At.display and defer it to message elems conversions 2020-12-14 19:46:10 +08:00
Him188
afd1ee30fb Introduce UserOrBot 2020-12-14 12:25:15 +08:00
Him188
115fc63890 Make At.<primary constructor> public and deprecated old _lowLevelConstructAtInstance 2020-12-14 12:16:31 +08:00
Him188
4b2385572d Remove _____newChain______ 2020-12-14 12:12:24 +08:00
Him188
5600cb5698 Fix doc 2020-12-14 12:12:11 +08:00
Karlatemp
d43cfd1e08
Improve messages logging 2020-12-13 12:10:53 +08:00
Karlatemp
0a5d3097f7
Correct format name of GroupImage 2020-12-13 11:39:54 +08:00
Karlatemp
0897d0cd7e
Move MessageKey.kt to the correct directory 2020-12-11 19:52:20 +08:00
Karlatemp
f69b6fa7bb
Fix sendTo.kt package 2020-12-11 19:43:29 +08:00
Karlatemp
f504dbd8f2
Move events in net.mamoe.mirai.message to net.mamoe.mirai.event.events, #699 2020-12-11 19:42:50 +08:00
Karlatemp
49aecee7bc
Fix ConstrainSingleTest 2020-12-11 19:08:18 +08:00
Him188
f59fcf7d5d Message serialization 2020-12-11 15:52:10 +08:00
Him188
021aac1b56 Rename PokeMessage.type to PokeMessage.pokeType 2020-12-11 14:54:52 +08:00
Him188
6b792e3ba6 Simplify MessageChain implementations 2020-12-11 14:53:47 +08:00
Him188
ffbc904bec Make LongMessage and ForwardMessageInternal data classes 2020-12-11 14:25:40 +08:00
Him188
c301ee4e89 Fix doc 2020-12-11 14:05:06 +08:00
Him188
3ad7bf3be8 Fix ambiguous contentEquals for different arguments String and Message: they now all compare contentToString directly 2020-12-11 12:49:31 +08:00