Skip to content

Instantly share code, notes, and snippets.

@phpRajat
Last active April 24, 2024 07:11
Show Gist options
  • Star 59 You must be signed in to star a gist
  • Fork 21 You must be signed in to fork a gist
  • Save phpRajat/a6422922efae32914f4dbd1082f3f412 to your computer and use it in GitHub Desktop.
Save phpRajat/a6422922efae32914f4dbd1082f3f412 to your computer and use it in GitHub Desktop.
setTimeout(function() {
function getAllModules() {
return new Promise((resolve) => {
const id = _.uniqueId("fakeModule_");
window["webpackJsonp"](
[],
{
[id]: function(module, exports, __webpack_require__) {
resolve(__webpack_require__.c);
}
},
[id]
);
});
}
var modules = getAllModules()._value;
for (var key in modules) {
if (modules[key].exports) {
if (modules[key].exports.createFromData) {
createFromData_id = modules[key].i.replace(/"/g, '"');
}
if (modules[key].exports.prepRawMedia) {
prepareRawMedia_id = modules[key].i.replace(/"/g, '"');
}
if (modules[key].exports.default) {
if (modules[key].exports.default.Wap) {
store_id = modules[key].i.replace(/"/g, '"');
}
}
if (modules[key].exports.sendTextMsgToChat) {
chat_id = modules[key].i.replace(/"/g, '"');
}
}
}
}, 2000);
function _requireById(id) {
return webpackJsonp([], null, [id]);
}
var createFromData_id = 0;
var prepareRawMedia_id = 0;
var store_id = 0;
var chat_id = 0;
function fixBinary (bin) {
var length = bin.length;
var buf = new ArrayBuffer(length);
var arr = new Uint8Array(buf);
for (var i = 0; i < length; i++) {
arr[i] = bin.charCodeAt(i);
}
return buf;
}
var send_media;
window.send_media = function(jid, link, caption, msg_id, content_type) {
var file = "";
var createFromDataClass = _requireById(createFromData_id)["default"];
var prepareRawMediaClass = _requireById(prepareRawMedia_id).prepRawMedia;
window.Store.Chat.find(jid).then((chat) => {
var img_b64 = link;
var base64 = img_b64.split(',')[1];
var type = img_b64.split(',')[0];
type = type.split(';')[0];
type = type.split(':')[1];
var binary = fixBinary(atob(base64));
var blob = new Blob([binary], {type: type});
var random_name = Math.random().toString(36).substr(2, 5);
file = new File([blob], random_name, {
type: type,
lastModified: Date.now()
});
var temp = createFromDataClass.createFromData(file, file.type);
var rawMedia = prepareRawMediaClass(temp, {});
var target = _.filter(window.Store.Msg.models, (msg) => {
return msg.id.id === msg_id;
})[0];
var textPortion = {
caption: caption,
mentionedJidList: [],
quotedMsg: target
};
rawMedia.sendToChat(chat, textPortion);
});
}
var Store = {};
function init() {
window.Store = _requireById(store_id).default;
window.Store.sendTextMsgToChat = _requireById(chat_id).sendTextMsgToChat;
console.log("Store is ready");
console.log(window.Store);
window.send_media("91xxxxxxxxxx@c.us", "data:image/png;base64,iVBORw0KG..........sda=", "test messsage", null, null);
}
setTimeout(function() {
init();
}, 5000);
@AlexDiSomma
Copy link

AlexDiSomma commented Nov 4, 2022

Full code with send buttons: https://raw.githubusercontent.com/mikelustosa/Projeto-TInject/master/Source/JS/js.abr

Hi mikelustosa, I am testing the functionality of SendButton, the message is displayed on whatsappweb without buttons and it is not sent correctly.
I use your example:
https://gist.github.com/phpRajat/a6422922efae32914f4dbd1082f3f412?permalink_comment_id=4254689#gistcomment-4254689

Am I doing something wrong? Should I create button templates before inserting the buttons?

This functionality can only be enabled on a business account right?

Thank you

@edgardmessias
Copy link

@mikelustosa se você olhar bem o nosso projeto do WPP4Delphi, temos todas as referências com o seu nome, que teve origem no TInject, alias, o Marcelo fez um grande trabalho de colocar em todo lugar que estava faltando.

Eu peço por gentileza que você faça o mesmo relacionado a parte de javascript.

Eu criei o projeto WA-JS do zero, fazendo abstrações e criando funções novas, na qual o objetivo desse projeto é ser um javascript que pode ser usado por qualquer projeto (inclusive você pode usar no TInject).

Única coisa que peço é fazer a referência correta do projeto, como exemplo o commit abaixo e a origem do código:

mikelustosa/Projeto-TInject@16e5077#diff-e1f4c52f75b4c739ee87b883b2cb0152a899308d6af98c40dac6b476c415c01e

Origem do código:

https://github.com/wppconnect-team/wa-js/blob/main/src/chat/functions/prepareRawMessage.ts

https://github.com/wppconnect-team/wa-js/blob/main/src/chat/functions/sendRawMessage.ts

https://github.com/wppconnect-team/wa-js/blob/main/src/chat/functions/sendCreatePollMessage.ts

@mikelustosa
Copy link

For now it is only possible to view the buttons on whatsapp web. We are still trying to find a solution.

@mikelustosa
Copy link

@mikelustosa se você olhar bem o nosso projeto do WPP4Delphi, temos todas as referências com o seu nome, que teve origem no TInject, alias, o Marcelo fez um grande trabalho de colocar em todo lugar que estava faltando.

Eu peço por gentileza que você faça o mesmo relacionado a parte de javascript.

Eu criei o projeto WA-JS do zero, fazendo abstrações e criando funções novas, na qual o objetivo desse projeto é ser um javascript que pode ser usado por qualquer projeto (inclusive você pode usar no TInject).

Única coisa que peço é fazer a referência correta do projeto, como exemplo o commit abaixo e a origem do código:

mikelustosa/Projeto-TInject@16e5077#diff-e1f4c52f75b4c739ee87b883b2cb0152a899308d6af98c40dac6b476c415c01e

Origem do código:

https://github.com/wppconnect-team/wa-js/blob/main/src/chat/functions/prepareRawMessage.ts

https://github.com/wppconnect-team/wa-js/blob/main/src/chat/functions/sendRawMessage.ts

https://github.com/wppconnect-team/wa-js/blob/main/src/chat/functions/sendCreatePollMessage.ts

Desculpe pela demora! Feito. Parabéns pelo belo trabalho em JS!

@rajeshshettysrs
Copy link

sir is their any way to check valid/invalid whatsapp number,please help?

@rajeshshettysrs
Copy link

Finally this solution worked. mikelustosa/Projeto-TInject#41
sir its not working after latest whatsapp update,is their any other way to check valid/invalid whatsapp numbers? plz help

@ADISOMMA
Copy link

This WAPI make some problems on reply messages, anyone find solutions?

@edgardmessias
Copy link

@ADISOMMA , you can use WPPConnect/WA-JS, look for quoteMessage while send a message

@mikelustosa
Copy link

mikelustosa commented Mar 26, 2023

sir is their any way to check valid/invalid whatsapp number,please help?

Yes. Use TInject's NewCheckIsValidNumber(number) function.

https://github.com/mikelustosa/Projeto-TInject

@sergey-chechaev
Copy link

isLoggedIn not working

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