Skip to content

Commit

Permalink
Improved name extraction and added sleep for open messages for form t…
Browse files Browse the repository at this point in the history
…o load and readme
  • Loading branch information
Tuckle committed May 27, 2022
1 parent 7559ca2 commit 2571116
Show file tree
Hide file tree
Showing 3 changed files with 53 additions and 10 deletions.
21 changes: 21 additions & 0 deletions scriptmonkey/linkedin/README.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,21 @@
# \*\*\*\*\*\*monkey LinkedIn scripts

###### Edit scripts

Find the **comments** in the scripts and edit the strings with messages if needed, for example:
```
// SET title
inputElement.value = "Lets network";
```
we change the content of the title by editing the string at _inputElement.value_
```
// SET title
inputElement.value = "I hope my message finds you well!";
```

###### Scripts

| file | usage |
| ------------- |:-------------:|
| *linkedin_invite_message_autofill.js* | autocomplete linkedin messages popups |
| *linkedin_open_message_autofill.js* | autocomplete inmail messages |
29 changes: 21 additions & 8 deletions scriptmonkey/linkedin/linkedin_invite_message_autofill.js
Original file line number Diff line number Diff line change
Expand Up @@ -33,27 +33,40 @@ async function insertInviteMessage() {
}

var nameElem = document.querySelector('div[data-anonymize="person-name"]').innerText;
var lastSpace = nameElem.lastIndexOf(" ");
nameElem = nameElem.slice(0, lastSpace);
var nameCopy = nameElem;
// extract first name - remove emojis & get first word
var regex = /(?:[\u2700-\u27bf]|(?:\ud83c[\udde6-\uddff]){2}|[\ud800-\udbff][\udc00-\udfff]|[\u0023-\u0039]\ufe0f?\u20e3|\u3299|\u3297|\u303d|\u3030|\u24c2|\ud83c[\udd70-\udd71]|\ud83c[\udd7e-\udd7f]|\ud83c\udd8e|\ud83c[\udd91-\udd9a]|\ud83c[\udde6-\uddff]|\ud83c[\ude01-\ude02]|\ud83c\ude1a|\ud83c\ude2f|\ud83c[\ude32-\ude3a]|\ud83c[\ude50-\ude51]|\u203c|\u2049|[\u25aa-\u25ab]|\u25b6|\u25c0|[\u25fb-\u25fe]|\u00a9|\u00ae|\u2122|\u2139|\ud83c\udc04|[\u2600-\u26FF]|\u2b05|\u2b06|\u2b07|\u2b1b|\u2b1c|\u2b50|\u2b55|\u231a|\u231b|\u2328|\u23cf|[\u23e9-\u23f3]|[\u23f8-\u23fa]|\ud83c\udccf|\u2934|\u2935|[\u2190-\u21ff])/g;
nameElem = nameElem.replace(regex, '').trim();
nameElem = nameElem.substring(0, nameElem.indexOf(' ')).trim();
if (nameElem.length == 0) {
nameElem = nameCopy;
}

// set message content
// SET message content
inputElement.value = `Hello ${nameElem},
I would love to connect with you!
All the best,
Jessica`;

$("button.connect-cta-form__send").on('click', increaseInviteCounter);
inputElement.setAttribute("marked", "true");
$("button.connect-cta-form__send").on('click', increaseInviteCounter);
}

async function getInviteMessageLIProfileName() {
var name = document.querySelector('div.artdeco-modal__content p span strong');
if (name != null) {
name = name.innerText;
var lastSpace = name.lastIndexOf(" ");
name = name.slice(0, lastSpace);
var nameCopy = name;
// extract first name - remove emojis & get first word
var regex = /(?:[\u2700-\u27bf]|(?:\ud83c[\udde6-\uddff]){2}|[\ud800-\udbff][\udc00-\udfff]|[\u0023-\u0039]\ufe0f?\u20e3|\u3299|\u3297|\u303d|\u3030|\u24c2|\ud83c[\udd70-\udd71]|\ud83c[\udd7e-\udd7f]|\ud83c\udd8e|\ud83c[\udd91-\udd9a]|\ud83c[\udde6-\uddff]|\ud83c[\ude01-\ude02]|\ud83c\ude1a|\ud83c\ude2f|\ud83c[\ude32-\ude3a]|\ud83c[\ude50-\ude51]|\u203c|\u2049|[\u25aa-\u25ab]|\u25b6|\u25c0|[\u25fb-\u25fe]|\u00a9|\u00ae|\u2122|\u2139|\ud83c\udc04|[\u2600-\u26FF]|\u2b05|\u2b06|\u2b07|\u2b1b|\u2b1c|\u2b50|\u2b55|\u231a|\u231b|\u2328|\u23cf|[\u23e9-\u23f3]|[\u23f8-\u23fa]|\ud83c\udccf|\u2934|\u2935|[\u2190-\u21ff])/g;
name = name.replace(regex, '').trim();
name = name.substring(0, name.indexOf(' ')).trim();
if (name.length == 0) {
name = nameCopy;
}

GM_setValue("tempInviteName", name);
}
}
Expand All @@ -64,7 +77,7 @@ async function insertInviteMessageLIProfile() {
if (message != null && message.value.length == 0 && message.getAttribute("marked") == null) {
var invitePersonName = GM_getValue("tempInviteName", "");

// set message content
// SET message content
message.value = `Hello ${invitePersonName},
I would love to connect with you!
Expand Down Expand Up @@ -99,7 +112,7 @@ async function increaseInviteCounter() { // increase invite counter and alert wh
GM_deleteValue(arrayOfKeys[i]);
}
}
if (newValue % 20 == 0) { // every 20 invites, give alert
if (newValue % 20 == 0) { // every 20 invites, give alert
alert("You have reached " + newValue.toString() + " invites already");
}
}
13 changes: 11 additions & 2 deletions scriptmonkey/linkedin/linkedin_open_message_autofill.js
Original file line number Diff line number Diff line change
Expand Up @@ -18,6 +18,7 @@
waitForKeyElements("#artdeco-hoverable-outlet__message-overlay", async function () {
'use strict';

await new Promise(r => setTimeout(r, 700));
var inputElement = document.querySelector("input.compose-form__subject-field");
if (inputElement == null || inputElement.value != "" || inputElement.getAttribute("marked") != null) {
return;
Expand All @@ -40,12 +41,20 @@ waitForKeyElements("#artdeco-hoverable-outlet__message-overlay", async function
if (nameElem.length > 6)
index = 0;
nameElem = nameElem[index].innerText;
var nameCopy = nameElem;
// extract first name - remove emojis & get first word
var regex = /(?:[\u2700-\u27bf]|(?:\ud83c[\udde6-\uddff]){2}|[\ud800-\udbff][\udc00-\udfff]|[\u0023-\u0039]\ufe0f?\u20e3|\u3299|\u3297|\u303d|\u3030|\u24c2|\ud83c[\udd70-\udd71]|\ud83c[\udd7e-\udd7f]|\ud83c\udd8e|\ud83c[\udd91-\udd9a]|\ud83c[\udde6-\uddff]|\ud83c[\ude01-\ude02]|\ud83c\ude1a|\ud83c\ude2f|\ud83c[\ude32-\ude3a]|\ud83c[\ude50-\ude51]|\u203c|\u2049|[\u25aa-\u25ab]|\u25b6|\u25c0|[\u25fb-\u25fe]|\u00a9|\u00ae|\u2122|\u2139|\ud83c\udc04|[\u2600-\u26FF]|\u2b05|\u2b06|\u2b07|\u2b1b|\u2b1c|\u2b50|\u2b55|\u231a|\u231b|\u2328|\u23cf|[\u23e9-\u23f3]|[\u23f8-\u23fa]|\ud83c\udccf|\u2934|\u2935|[\u2190-\u21ff])/g;
nameElem = nameElem.replace(regex, '').trim();
nameElem = nameElem.substring(0, nameElem.indexOf(' ')).trim();
if (nameElem.length == 0) {
nameElem = nameCopy;
}

var inputElement2 = document.querySelector("textarea.compose-form__message-field");

// set title
// SET title
inputElement.value = "Lets network";
// set message content
// SET message content
inputElement2.value = `Hi ${nameElem},
Saw that you have an open profile and would love to discuss an opportunity with you, let me know if you're interested!
Expand Down

0 comments on commit 2571116

Please sign in to comment.