Zaaferani
Zaaferani

Reputation: 951

How to send photo message by Bale Bot?

I want to send a PhotoMessage by my bot! but socket reconnect and not error logged!

let _pic = {
    fileId: '-8485942782244354814',
    accessHash: '1533910422',
    name: '9312002.jpg',
    fileSize: '62379',
    mimeType: 'image/jpeg',
    fileStorageVersion: 1,
    ext_width: 349,
    ext_height: 456,
    width: 349,
    height: 456,
    thumb: '/9j/4AAQSkZJRgABAQAAAQABAAD/2wBDAA4KCw0LCQ4NDA0QDw4RFiQXFhQUFiwgIRokNC43NjMuMjI6QVNGOj1OPjIySGJJTlZYXV5dOEVmbWVabFNbXVn/2wBDAQ8QEBYTFioXFypZOzI7WVlZWVlZWVlZWVlZWVlZWVlZWVlZWVlZWVlZWVlZWVlZWVlZWVlZWVlZWVlZWVlZWVn/wAARCABaAEQDASIAAhEBAxEB/8QAGwAAAgIDAQAAAAAAAAAAAAAAAAYBAgMEBQf/xAA2EAACAQMCBAIIBQMFAAAAAAABAgMABBESIQUxQVEGEyIyQmFxgZHRFCOhwfAHseEVJDNicv/EABgBAAMBAQAAAAAAAAAAAAAAAAABAgME/8QAHBEBAQACAwEBAAAAAAAAAAAAAAECEQMSMSFB/9oADAMBAAIRAxEAPwD0miiqSOI42dvVUEmgFnxd4m/0hRa2hVrtxkk7iMd/jXnFxf3d42bm6mlbfGtyarxC7kv+ITXEzZaVyxOeXYfDlVEg1sxO6LgbY+VOQLJcTW7qUdlPQqabvD/jC4tZkg4o5ltm2Ep3ZD7z1H60phItaAt8SQRj+cqgsgVxqJC4wO+38+tMPcEdZEV0YMrDIIOxFWpY8B37XnARFI2qS2cx+/TzH2+VM9SBRRRQBWK6j861miHtoV+orLUUB4RbwvNdpCAAzNp36U62nhG3kiHmzSasb6cCteDhLW3Gr+QxhmDa4yRgDVkmupY8Tu/P8ryo5ABqOkMpAzjO470rbfG2GMnoi8J2EY9MySH/ALHlS54i4IlkPNhJ8vIBHanS84g8UGqKAyvjOnNLtxPccTtpBIsTRMpICqwPuIJ57iplvqspNab/APTSMpb355qWQA+/B+4p5pf8FWf4PgEasAGkYyE98gUwVpWFFFFFIhRRRQCxdwvBxiQPukg1K37fKsssaRW7uoAOOdZfEzLDHa3BbBWQp9R/j9a0mnMkA04KnmKjJ0ceW4tAAJohkEMnQ5qL2JUjKwpl3OAB1NYtfpo0YAONyDms9mPxnFIYydo/zGwe3L9cUpPq8rqO/YwfhrOKEnJVcGtiiitHIiipooCrusaF3YKqjJJOAKWOM+MbW0DR2AF1MObewvz6/L60l8S4ze8Uk/3c5wTsgOFX4CubpONRJwTgkDpV9SdB+JXPEOJRz30pk1NpIOwUHbYdBTHA1xw9/TVprfoQMsv3pNQAtjYgjI33FOXAb8Xll5cu8sex946Gozn6147+LXfGozEVt4ZGc9ChH9659nxyfgt75skazmVfzAdiBnbB6V15olzstKfGsDiJUsMhRkH2f5tU4eq5N6egWXi7hV0o1ytA+caZF/cV24ZoriMPDIkiH2kYEV4mCcbA47g862rPiFzw6Yy2szxyHb0W2Py+9adWL2aik7hfjaGS0zfronBx6CnBHeijrQQicKMnAxyLZqeWNbaR1GNs+8UAiRgGHPJGSev0HT+dCPTJM2TpA9XNWSCuga2AbOTkDNZ7G+ksLpJ4gobcFTyIPf3VhUjUzMdGPVxyNVBKoxZsahgbZB+1KiXR3s+O2U9q8zkRui6jGSMnbO3eku6uZrq6kmfdpTnSO3asUmFGNRJ+O1QPU22Y8uxFTMZKvLO5ejtnc45CrYJXn05g7D9aoMqT3HMnmTViNuR23bB5D+ZqkAKR2x7x/g0UA531lB0G9FAS7lhnVnJ58s0aswquPzM5qZfUT6f2rK4Hmvt0/amSjhkxG2GGfnUSEI/o4aMdDW1CoKAkDO4z86vdootWAUAaeg+FPXwbc9/RVtsZ3FVQ+jjJDHYVnuABDBsPVNYrcfmw/wDr7VJs8dt5iHDqmk4OT171S4RYV/5FZyTsp5iteX1jQgB6CnuEkOPaIHuoqXAyNhyopG//2Q==' 
};

const pMsg = new PhotoMessage(
    _pic.fileId, _pic.accessHash, _pic.name,
    _pic.size, 'image/jpeg', "title",
    _pic.width, _pic.height, _pic.thumb
);

global.bot.send(pMsg, responder.peer);
// responder.reply(pMsg);

Upvotes: 2

Views: 186

Answers (2)

Ehsan
Ehsan

Reputation: 4291

It's because you did not set fileSize correctly in pMsg. Try below code, it's tested:

const SDK = require("balebot");
const BaleBot = SDK.BaleBot;
const PhotoMessage=SDK.PhotoMessage;

let bot = new BaleBot('token');

let _pic = {
    fileId: '-8485942782244354814',
    accessHash: '1533910422',
    name: '9312002.jpg',
    fileSize: '62379',
    mimeType: 'image/jpeg',
    fileStorageVersion: 1,
    ext_width: 349,
    ext_height: 456,
    width: 349,
    height: 456,
    thumb:'thumbnail'
};
const pMsg = new PhotoMessage(
    _pic.fileId, _pic.accessHash, _pic.name,
    _pic.fileSize, 'image/jpeg', "title",
    _pic.width, _pic.height, _pic.thumb
);
bot.hears(["/start"], (message, responder) => {
    bot.send(pMsg, responder.peer).then((res) => {
        console.log(res)
    }).catch((err) => {
        console.log(err)
    });
});

Upvotes: 5

Zaaferani
Zaaferani

Reputation: 951

I found my problem! when you upload file to Bale server, response is a object of accessHash and fileId. accessHash is a number while must be String! I convert accessHash to string and it`s worked.

bot.UploadFile(buf, "photo").then(response => {
    response.accessHash = response.accessHash + "";
    response.size = buf.length;
    response.base64 = base64data;
    response.width = dimensions.width;
    response.height = dimensions.height;
    store.set(_pic.key, response);
    store.save();
    store.writeFile();
}).catch(err => {
    console.log(err);
});

Upvotes: 0

Related Questions