Merge pull request 'add ctc commands and subcommands to autocomplete' (#76) from Juby210/cutthecord:patch-2 into master

Reviewed-on: distok/cutthecord#76

Got approved by theo too
This commit is contained in:
ave 2020-08-12 18:27:56 +00:00
commit e17082f086
2 changed files with 277 additions and 5 deletions

View File

@ -1,6 +1,6 @@
diff -crB from/smali/com/discord/stores/StoreMessages.smali to/smali/com/discord/stores/StoreMessages.smali
*** from/smali/com/discord/stores/StoreMessages.smali 2020-08-09 14:14:55.960000000 +0300
--- to/smali/com/discord/stores/StoreMessages.smali 2020-08-09 14:15:35.250000000 +0300
*** from/smali/com/discord/stores/StoreMessages.smali Wed Aug 12 18:07:38 2020
--- to/smali/com/discord/stores/StoreMessages.smali Wed Aug 12 19:30:34 2020
***************
*** 922,927 ****
--- 922,931 ----
@ -3330,9 +3330,282 @@ diff -crB from/smali/com/discord/stores/StoreMessages.smali to/smali/com/discord
+ :cond_0
+ return-object p0
+ .end method
diff -crB from/smali/com/discord/widgets/chat/input/WidgetChatInputCommandsModel.smali to/smali/com/discord/widgets/chat/input/WidgetChatInputCommandsModel.smali
*** from/smali/com/discord/widgets/chat/input/WidgetChatInputCommandsModel.smali Wed Aug 12 18:07:40 2020
--- to/smali/com/discord/widgets/chat/input/WidgetChatInputCommandsModel.smali Wed Aug 12 19:49:34 2020
***************
*** 835,843 ****
.line 5
invoke-static {v2, v3, v4, v1}, Lcom/discord/widgets/chat/input/WidgetChatInputCommandsModel;->createSlashCommand(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Lcom/discord/widgets/chat/input/WidgetChatInputSlashAction;)Lcom/discord/widgets/chat/input/WidgetChatInputCommandsModel;
! move-result-object v1
! invoke-virtual {v0, v1}, Ljava/util/ArrayList;->add(Ljava/lang/Object;)Z
return-object v0
.end method
--- 835,1067 ----
.line 5
invoke-static {v2, v3, v4, v1}, Lcom/discord/widgets/chat/input/WidgetChatInputCommandsModel;->createSlashCommand(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Lcom/discord/widgets/chat/input/WidgetChatInputSlashAction;)Lcom/discord/widgets/chat/input/WidgetChatInputCommandsModel;
! move-result-object v2
! invoke-virtual {v0, v2}, Ljava/util/ArrayList;->add(Ljava/lang/Object;)Z
!
! # ctc commands
!
! const-string v2, "lenny"
!
! const-string v3, "( ͡° ͜ʖ ͡°)"
!
! invoke-static {v2, v3, v4, v1}, Lcom/discord/widgets/chat/input/WidgetChatInputCommandsModel;->createSlashCommand(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Lcom/discord/widgets/chat/input/WidgetChatInputSlashAction;)Lcom/discord/widgets/chat/input/WidgetChatInputCommandsModel;
!
! move-result-object v2
!
! invoke-virtual {v0, v2}, Ljava/util/ArrayList;->add(Ljava/lang/Object;)Z
!
! const-string v2, "upper"
!
! const-string v3, "{CTC_COMMAND}"
!
! const-string v4, "Makes text uppercase"
!
! invoke-static {v2, v3, v4, v1}, Lcom/discord/widgets/chat/input/WidgetChatInputCommandsModel;->createSlashCommand(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Lcom/discord/widgets/chat/input/WidgetChatInputSlashAction;)Lcom/discord/widgets/chat/input/WidgetChatInputCommandsModel;
!
! move-result-object v2
!
! invoke-virtual {v0, v2}, Ljava/util/ArrayList;->add(Ljava/lang/Object;)Z
!
! const-string v2, "lower"
!
! const-string v4, "Makes text lowercase"
!
! invoke-static {v2, v3, v4, v1}, Lcom/discord/widgets/chat/input/WidgetChatInputCommandsModel;->createSlashCommand(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Lcom/discord/widgets/chat/input/WidgetChatInputSlashAction;)Lcom/discord/widgets/chat/input/WidgetChatInputCommandsModel;
!
! move-result-object v2
!
! invoke-virtual {v0, v2}, Ljava/util/ArrayList;->add(Ljava/lang/Object;)Z
!
! const-string v2, "bold"
!
! const-string v4, "Makes text bold"
!
! invoke-static {v2, v3, v4, v1}, Lcom/discord/widgets/chat/input/WidgetChatInputCommandsModel;->createSlashCommand(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Lcom/discord/widgets/chat/input/WidgetChatInputSlashAction;)Lcom/discord/widgets/chat/input/WidgetChatInputCommandsModel;
!
! move-result-object v2
!
! invoke-virtual {v0, v2}, Ljava/util/ArrayList;->add(Ljava/lang/Object;)Z
!
! const-string v2, "spoiler"
!
! const-string v4, "Marks your message as a spoiler"
!
! invoke-static {v2, v3, v4, v1}, Lcom/discord/widgets/chat/input/WidgetChatInputCommandsModel;->createSlashCommand(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Lcom/discord/widgets/chat/input/WidgetChatInputSlashAction;)Lcom/discord/widgets/chat/input/WidgetChatInputCommandsModel;
!
! move-result-object v2
!
! invoke-virtual {v0, v2}, Ljava/util/ArrayList;->add(Ljava/lang/Object;)Z
!
! const-string v2, "spoilerimg"
!
! const-string v4, "Prepends SPOILER_ to names of all images attached to the message that starts with this, causing them to get marked as spoiler"
!
! invoke-static {v2, v3, v4, v1}, Lcom/discord/widgets/chat/input/WidgetChatInputCommandsModel;->createSlashCommand(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Lcom/discord/widgets/chat/input/WidgetChatInputSlashAction;)Lcom/discord/widgets/chat/input/WidgetChatInputCommandsModel;
!
! move-result-object v2
!
! invoke-virtual {v0, v2}, Ljava/util/ArrayList;->add(Ljava/lang/Object;)Z
!
! const-string v2, "me"
!
! const-string v4, "Display text with emphasis"
!
! invoke-static {v2, v3, v4, v1}, Lcom/discord/widgets/chat/input/WidgetChatInputCommandsModel;->createSlashCommand(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Lcom/discord/widgets/chat/input/WidgetChatInputSlashAction;)Lcom/discord/widgets/chat/input/WidgetChatInputCommandsModel;
!
! move-result-object v2
!
! invoke-virtual {v0, v2}, Ljava/util/ArrayList;->add(Ljava/lang/Object;)Z
!
! const-string v2, "st"
!
! const-string v4, "Puts a strikethrough the message"
!
! invoke-static {v2, v3, v4, v1}, Lcom/discord/widgets/chat/input/WidgetChatInputCommandsModel;->createSlashCommand(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Lcom/discord/widgets/chat/input/WidgetChatInputSlashAction;)Lcom/discord/widgets/chat/input/WidgetChatInputCommandsModel;
!
! move-result-object v2
!
! invoke-virtual {v0, v2}, Ljava/util/ArrayList;->add(Ljava/lang/Object;)Z
!
! const-string v2, "owo"
!
! const-string v4, "Myakes tyext reawwy owo-ly, nya :3"
!
! invoke-static {v2, v3, v4, v1}, Lcom/discord/widgets/chat/input/WidgetChatInputCommandsModel;->createSlashCommand(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Lcom/discord/widgets/chat/input/WidgetChatInputSlashAction;)Lcom/discord/widgets/chat/input/WidgetChatInputCommandsModel;
!
! move-result-object v2
!
! invoke-virtual {v0, v2}, Ljava/util/ArrayList;->add(Ljava/lang/Object;)Z
!
! const-string v2, "fw"
!
! const-string v4, "Makes text fullwidth (like “Sent from my Android Device”)"
!
! invoke-static {v2, v3, v4, v1}, Lcom/discord/widgets/chat/input/WidgetChatInputCommandsModel;->createSlashCommand(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Lcom/discord/widgets/chat/input/WidgetChatInputSlashAction;)Lcom/discord/widgets/chat/input/WidgetChatInputCommandsModel;
!
! move-result-object v2
!
! invoke-virtual {v0, v2}, Ljava/util/ArrayList;->add(Ljava/lang/Object;)Z
!
! const-string v2, "gordon"
!
! const-string v4, "𝗛𝗲𝗹𝗹𝗼𝗚𝗼𝗿𝗱𝗼𝗻"
!
! invoke-static {v2, v3, v4, v1}, Lcom/discord/widgets/chat/input/WidgetChatInputCommandsModel;->createSlashCommand(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Lcom/discord/widgets/chat/input/WidgetChatInputSlashAction;)Lcom/discord/widgets/chat/input/WidgetChatInputCommandsModel;
!
! move-result-object v2
!
! invoke-virtual {v0, v2}, Ljava/util/ArrayList;->add(Ljava/lang/Object;)Z
!
! const-string v2, "small"
!
! const-string v4, "Makes text smaller (like “ᴛʜɪs”)"
!
! invoke-static {v2, v3, v4, v1}, Lcom/discord/widgets/chat/input/WidgetChatInputCommandsModel;->createSlashCommand(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Lcom/discord/widgets/chat/input/WidgetChatInputSlashAction;)Lcom/discord/widgets/chat/input/WidgetChatInputCommandsModel;
!
! move-result-object v2
!
! invoke-virtual {v0, v2}, Ljava/util/ArrayList;->add(Ljava/lang/Object;)Z
!
! const-string v2, "smaller"
!
! const-string v4, "Makes text even smaller (like “ᵗʰvˢ”)"
!
! invoke-static {v2, v3, v4, v1}, Lcom/discord/widgets/chat/input/WidgetChatInputCommandsModel;->createSlashCommand(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Lcom/discord/widgets/chat/input/WidgetChatInputSlashAction;)Lcom/discord/widgets/chat/input/WidgetChatInputCommandsModel;
!
! move-result-object v2
!
! invoke-virtual {v0, v2}, Ljava/util/ArrayList;->add(Ljava/lang/Object;)Z
!
! const-string v2, "flip"
!
! const-string v4, "Flips text (like “ʇɥıs”)"
!
! invoke-static {v2, v3, v4, v1}, Lcom/discord/widgets/chat/input/WidgetChatInputCommandsModel;->createSlashCommand(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Lcom/discord/widgets/chat/input/WidgetChatInputSlashAction;)Lcom/discord/widgets/chat/input/WidgetChatInputCommandsModel;
!
! move-result-object v2
!
! invoke-virtual {v0, v2}, Ljava/util/ArrayList;->add(Ljava/lang/Object;)Z
!
! const-string v2, "clap"
!
! const-string v4, "Please 👏 clap"
!
! invoke-static {v2, v3, v4, v1}, Lcom/discord/widgets/chat/input/WidgetChatInputCommandsModel;->createSlashCommand(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Lcom/discord/widgets/chat/input/WidgetChatInputSlashAction;)Lcom/discord/widgets/chat/input/WidgetChatInputCommandsModel;
!
! move-result-object v2
!
! invoke-virtual {v0, v2}, Ljava/util/ArrayList;->add(Ljava/lang/Object;)Z
!
! const-string v2, "ctc channelleak"
!
! const-string v4, "Shows all channels, even those you dont have permissions to view"
!
! invoke-static {v2, v3, v4, v1}, Lcom/discord/widgets/chat/input/WidgetChatInputCommandsModel;->createSlashCommand(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Lcom/discord/widgets/chat/input/WidgetChatInputSlashAction;)Lcom/discord/widgets/chat/input/WidgetChatInputCommandsModel;
!
! move-result-object v2
!
! invoke-virtual {v0, v2}, Ljava/util/ArrayList;->add(Ljava/lang/Object;)Z
!
! const-string v2, "ctc notyping"
!
! const-string v4, "Disables typing event so that its not visible when you type"
!
! invoke-static {v2, v3, v4, v1}, Lcom/discord/widgets/chat/input/WidgetChatInputCommandsModel;->createSlashCommand(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Lcom/discord/widgets/chat/input/WidgetChatInputSlashAction;)Lcom/discord/widgets/chat/input/WidgetChatInputCommandsModel;
!
! move-result-object v2
!
! invoke-virtual {v0, v2}, Ljava/util/ArrayList;->add(Ljava/lang/Object;)Z
!
! const-string v2, "ctc nodelete"
!
! const-string v4, "Disables handling of message delete events"
!
! invoke-static {v2, v3, v4, v1}, Lcom/discord/widgets/chat/input/WidgetChatInputCommandsModel;->createSlashCommand(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Lcom/discord/widgets/chat/input/WidgetChatInputSlashAction;)Lcom/discord/widgets/chat/input/WidgetChatInputCommandsModel;
!
! move-result-object v2
!
! invoke-virtual {v0, v2}, Ljava/util/ArrayList;->add(Ljava/lang/Object;)Z
!
! const-string v2, "ctc gifautoplay"
!
! const-string v4, "Disables auto play of GIFs"
!
! invoke-static {v2, v3, v4, v1}, Lcom/discord/widgets/chat/input/WidgetChatInputCommandsModel;->createSlashCommand(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Lcom/discord/widgets/chat/input/WidgetChatInputSlashAction;)Lcom/discord/widgets/chat/input/WidgetChatInputCommandsModel;
!
! move-result-object v2
!
! invoke-virtual {v0, v2}, Ljava/util/ArrayList;->add(Ljava/lang/Object;)Z
!
! const-string v2, "ctc token"
!
! const-string v4, "Gives or sets token"
!
! invoke-static {v2, v3, v4, v1}, Lcom/discord/widgets/chat/input/WidgetChatInputCommandsModel;->createSlashCommand(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Lcom/discord/widgets/chat/input/WidgetChatInputSlashAction;)Lcom/discord/widgets/chat/input/WidgetChatInputCommandsModel;
!
! move-result-object v2
!
! invoke-virtual {v0, v2}, Ljava/util/ArrayList;->add(Ljava/lang/Object;)Z
!
! const-string v2, "ctc addaccount"
!
! const-string v4, "Adds an account to the account switcher"
!
! invoke-static {v2, v3, v4, v1}, Lcom/discord/widgets/chat/input/WidgetChatInputCommandsModel;->createSlashCommand(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Lcom/discord/widgets/chat/input/WidgetChatInputSlashAction;)Lcom/discord/widgets/chat/input/WidgetChatInputCommandsModel;
!
! move-result-object v2
!
! invoke-virtual {v0, v2}, Ljava/util/ArrayList;->add(Ljava/lang/Object;)Z
!
! const-string v2, "ctc account"
!
! const-string v4, "Switches to the account"
!
! invoke-static {v2, v3, v4, v1}, Lcom/discord/widgets/chat/input/WidgetChatInputCommandsModel;->createSlashCommand(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Lcom/discord/widgets/chat/input/WidgetChatInputSlashAction;)Lcom/discord/widgets/chat/input/WidgetChatInputCommandsModel;
!
! move-result-object v2
!
! invoke-virtual {v0, v2}, Ljava/util/ArrayList;->add(Ljava/lang/Object;)Z
return-object v0
.end method
***************
*** 1503,1508 ****
--- 1727,1738 ----
.locals 2
.line 1
+ iget-object v0, p1, Lcom/discord/widgets/chat/input/WidgetChatInputCommandsModel;->slashOutput:Ljava/lang/String;
+
+ const-string v1, "{CTC_COMMAND}"
+
+ if-eq v0, v1, :cond_0
+
iget-object v0, p1, Lcom/discord/widgets/chat/input/WidgetChatInputCommandsModel;->tag:Ljava/lang/String;
const-string v1, ""
***************
*** 1530,1535 ****
--- 1760,1766 ----
move-result-object p0
+ :cond_0
return-object p0
.end method
diff -crB from/smali/com/discord/widgets/chat/input/WidgetChatInputSend$configureSendListeners$1.smali to/smali/com/discord/widgets/chat/input/WidgetChatInputSend$configureSendListeners$1.smali
*** from/smali/com/discord/widgets/chat/input/WidgetChatInputSend$configureSendListeners$1.smali 2020-08-09 14:14:56.710000000 +0300
--- to/smali/com/discord/widgets/chat/input/WidgetChatInputSend$configureSendListeners$1.smali 2020-08-09 14:34:47.100000000 +0300
*** from/smali/com/discord/widgets/chat/input/WidgetChatInputSend$configureSendListeners$1.smali Wed Aug 12 18:07:40 2020
--- to/smali/com/discord/widgets/chat/input/WidgetChatInputSend$configureSendListeners$1.smali Wed Aug 12 19:19:05 2020
***************
*** 693,698 ****
--- 693,728 ----

View File

@ -37,7 +37,6 @@ Commands like fw can be generated by `textreplacegen.py` or `textreplacegen-arra
## Known bugs
- There's no help.
- The slashcommands do not show when putting a slash (which was added in I think 9.7.2).
- Output from /ctc commands doesn't get properly displayed if enter is not pressed using a physical keyboard (usb or bluetooth). This is bizarre and oh god please help me solve this bug.
#### Available and tested on: