Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

feature(itchat): add UOS weixin desktop patch #136

Merged
merged 2 commits into from
Jul 14, 2022
Merged

feature(itchat): add UOS weixin desktop patch #136

merged 2 commits into from
Jul 14, 2022

Conversation

shejialuo
Copy link
Contributor

It turns out that wechat-uos provided by Tencent still uses the web
interface, and someone finds the way to utilize the wechat-uos to
login into the web for the ones who cannot login by web. This commit
uses the information provided by the others. It does the three basic
things:

  1. Change itchat config.py to add the corresponding version and
    UOS_PATCH_EXTSPAM.
  2. Change itchat components/login.py to add the latest weixin check,
    skey field and pass_ticket field.
  3. In order to get the message from weixin, eveytime the device ID
    should be changed, so this commit uses random string to generate
    the device ID.

However, this patch doesn't work for WeChat users.

Copy link
Member

@blueset blueset left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Considering Web WC is no longer available to “WeChat” users, I think this patch is mostly fine.

Can you add a one-line summary of your change to both the “Unreleased“ section of /CHANGES.rst and /efb-wechat-slave/efb_wechat_slave/vendor/itchat/CHANGES?

efb_wechat_slave/vendor/itchat/components/login.py Outdated Show resolved Hide resolved
It turns out that `wechat-uos` provided by Tencent still uses the web
interface, and someone finds the way to utilize the `wechat-uos` to
login into the web for the ones who cannot login by web. This commit
uses the information provided by the others. It does the three basic
things:

1. Change itchat `config.py` to add the corresponding version and
   `UOS_PATCH_EXTSPAM`.
2. Change itchat `components/login.py` to add the latest weixin check,
   `skey` field and `pass_ticket` field.
3. In order to get the message from weixin, eveytime the device ID
   should be changed, so this commit uses random string to generate
   the device ID.

However, this patch doesn't work for WeChat users.
@shejialuo
Copy link
Contributor Author

I have already changed the file. However, the puzzle thing is that I could not figure out the commit hash ID with only one commit message, So i use [shejialuo] == [efb-wechat-slave#136] to the CHANGELOG of itchat.

@shejialuo shejialuo requested a review from blueset July 14, 2022 01:43
@blueset
Copy link
Member

blueset commented Jul 14, 2022

The commit hash is taken from the original PR I took this change from. In your case you can use the branch name instead. I will make the change for you in the PR.

Thank you for the awesome PR!

@blueset blueset merged commit 22816de into ehForwarderBot:master Jul 14, 2022
@whudwl
Copy link

whudwl commented Jul 16, 2022

This is awesome! thank you so much!

@brryaa
Copy link

brryaa commented Jul 16, 2022

You save the efb weixin users who cannot login by web. It's a great contribution. Thank you !

@jiz4oh
Copy link

jiz4oh commented Jul 18, 2022

Thank you!

@hookjk100
Copy link

If you have any questions, you can communicate with “ efb-wechat 難民營” here: https://t.me/+UJz8XfH65xg1ZmU5

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging this pull request may close these issues.

None yet

6 participants