SpikeHD / AmazonMonitor

Amazon price checker, item monitor and stock monitor, all shoved into a Discord bot
GNU General Public License v3.0
235 stars 39 forks source link

I'm getting this, what might be the problem. #63

Closed adityasanehi closed 3 years ago

adityasanehi commented 3 years ago

(node:12156) UnhandledPromiseRejectionWarning: Error: ENOENT: no such file or directory, mkdtemp 'C:\Users\adity\AppData\Local\Temp;C:\Users\adity\AppData\Local\Programs\Python\Python37-32\Script\puppeteer_dev_chrome_profile-XXXXXX' (Use node --trace-warnings ... to show where the warning was created) (node:12156) UnhandledPromiseRejectionWarning: Unhandled promise rejection. This error originated either by throwing inside of an async function without a catch block, or by rejecting a promise which was not handled with .catch(). To terminate the node process on unhandled promise rejection, use the CLI flag --unhandled-rejections=strict (see https://nodejs.org/api/cli.html#cli_unhandled_rejections_mode). (rejection id: 1) (node:12156) [DEP0018] DeprecationWarning: Unhandled promise rejections are deprecated. In the future, promise rejections that are not handled will terminate the Node.js process with a non-zero exit code. (node:12156) UnhandledPromiseRejectionWarning: DiscordAPIError: Cannot send an empty message at RequestHandler.execute (C:\Users\adity\Desktop\AmazonMonitor-master\node_modules\discord.js\src\rest\RequestHandler.js:154:13) at processTicksAndRejections (internal/process/task_queues.js:93:5) at async RequestHandler.push (C:\Users\adity\Desktop\AmazonMonitor-master\node_modules\discord.js\src\rest\RequestHandler.js:39:14) (node:12156) UnhandledPromiseRejectionWarning: Unhandled promise rejection. This error originated either by throwing inside of an async function without a catch block, or by rejecting a promise which was not handled with .catch(). To terminate the node process on unhandled promise rejection, use the CLI flag --unhandled-rejections=strict (see https://nodejs.org/api/cli.html#cli_unhandled_rejections_mode). (rejection id: 3)

adityasanehi commented 3 years ago

Got this while installing.

npm WARN deprecated request-promise@4.2.6: request-promise has been deprecated because it extends the now deprecated request package, see https://github.com/request/request/issues/3142 npm WARN deprecated request@2.88.2: request has been deprecated, see https://github.com/request/request/issues/3142 npm WARN deprecated request-promise-native@1.0.9: request-promise-native has been deprecated because it extends the now deprecated request package, see https://github.com/request/request/issues/3142 npm WARN deprecated har-validator@5.1.5: this library is no longer supported npm WARN deprecated resolve-url@0.2.1: https://github.com/lydell/resolve-url#deprecated npm WARN deprecated urix@0.1.0: Please see https://github.com/lydell/urix#deprecated

SpikeHD commented 3 years ago

Warnings during installation are fine, you can ignore those. Can you enable debug mode through the config? I can't really pinpoint at what point the bot is attempting to send a message in your instance, so it would be helpful if you could recreate it and include the relevant debugger info as well

adityasanehi commented 3 years ago

Tried to add this. Screenshot_5

Got this.

[DEBUG] [] [DEBUG] { link: undefined, category: '', query: '', priceLimit: 0 } [DEBUG] Price Limit: 0 [ERROR] TypeError: Cannot read property 'length' of undefined at Object.module.exports.run (C:\Users\adity\Desktop\Sneaker-Monitors-master\AmazonMonitor-master\commands\watch.js:33:19) at exec (C:\Users\adity\Desktop\Sneaker-Monitors-master\AmazonMonitor-master\index.js:75:13) at Client. (C:\Users\adity\Desktop\Sneaker-Monitors-master\AmazonMonitor-master\index.js:67:61) at Client.emit (events.js:315:20) at Client.EventEmitter.emit (domain.js:467:12) at MessageCreateAction.handle (C:\Users\adity\Desktop\Sneaker-Monitors-master\AmazonMonitor-master\node_modules\discord.js\src\client\actions\MessageCreate.js:31:14) at Object.module.exports [as MESSAGE_CREATE] (C:\Users\adity\Desktop\Sneaker-Monitors-master\AmazonMonitor-master\node_modules\discord.js\src\client\websocket\handlers\MESSAGE_CREATE.js:4:32) at WebSocketManager.handlePacket (C:\Users\adity\Desktop\Sneaker-Monitors-master\AmazonMonitor-master\node_modules\discord.js\src\client\websocket\WebSocketManager.js:384:31) at WebSocketShard.onPacket (C:\Users\adity\Desktop\Sneaker-Monitors-master\AmazonMonitor-master\node_modules\discord.js\src\client\websocket\WebSocketShard.js:444:22) at WebSocketShard.onMessage (C:\Users\adity\Desktop\Sneaker-Monitors-master\AmazonMonitor-master\node_modules\discord.js\src\client\websocket\WebSocketShard.js:301:10) (node:27200) UnhandledPromiseRejectionWarning: DiscordAPIError: Cannot send an empty message at RequestHandler.execute (C:\Users\adity\Desktop\Sneaker-Monitors-master\AmazonMonitor-master\node_modules\discord.js\src\rest\RequestHandler.js:154:13) at processTicksAndRejections (internal/process/task_queues.js:93:5) at async RequestHandler.push (C:\Users\adity\Desktop\Sneaker-Monitors-master\AmazonMonitor-master\node_modules\discord.js\src\rest\RequestHandler.js:39:14) (node:27200) UnhandledPromiseRejectionWarning: Unhandled promise rejection. This error originated either by throwing inside of an async function without a catch block, or by rejecting a promise which was not handled with .catch(). To terminate the node process on unhandled promise rejection, use the CLI flag --unhandled-rejections=strict (see https://nodejs.org/api/cli.html#cli_unhandled_rejections_mode). (rejection id: 7)

SpikeHD commented 3 years ago

You need to specify the link before the -l bit

adityasanehi commented 3 years ago

!watch https://www.amazon.com/MAXSUN-RX-550-Computer-DisplayPort/dp/B08VHWFWSD/ref=sr_1_3?dchild=1&keywords=gpu&qid=1618829580&sr=8-3 -l

adityasanehi commented 3 years ago

I was verifying w an instock link.

SpikeHD commented 3 years ago

Format the command like this: !watch -l https://www.amazon.com/MAXSUN-RX-550-Computer-DisplayPort/dp/B08VHWFWSD/ref=sr_1_3?dchild=1&keywords=gpu&qid=1618829580&sr=8-3

adityasanehi commented 3 years ago

Still not working. only the !help command works.

Got this message now.

(node:54764) UnhandledPromiseRejectionWarning: Unhandled promise rejection. This error originated either by throwing inside of an async function without a catch block, or by rejecting a promise which was not handled with .catch(). To terminate the node process on unhandled promise rejection, use the CLI flag --unhandled-rejections=strict (see https://nodejs.org/api/cli.html#cli_unhandled_rejections_mode). (rejection id: 5)

SpikeHD commented 3 years ago

There should be more to that message than just that. Is there more debug output/error output before or after that message?

adityasanehi commented 3 years ago

got this when i ran it first Screenshot_8

after the command, !watch -l https://www.amazon.com/MAXSUN-RX-550-Computer-DisplayPort/dp/B08VHWFWSD/ref=sr_1_3?dchild=1&keywords=gpu&qid=1618829580&sr=8-3

Screenshot_9

SpikeHD commented 3 years ago

I'm not sure, that may be a puppeteer issue, so try deleting the node_modules folder and reinstalling the dependencies.

adityasanehi commented 3 years ago

I've tried all, still does not work for me. Installed it on a different OS as well. Nothing except !watchlist and !help gets a respond.

SpikeHD commented 3 years ago

That is very very odd. Are the error messages different depending on the command?

adityasanehi commented 3 years ago

Yes, it says Discord API error w everything, maybe some problem w Discord connection. I've verified the token and its the same as on the developer portal. Does the bot still work for you?

SpikeHD commented 3 years ago

If it was a problem with the API itself it would be giving a different error. Your empty message error suggests there is data that isn't being output somewhere, which could happen for a myriad of reasons.

adityasanehi commented 3 years ago

Would it be because of permissions, will try creating the application bot again.

SpikeHD commented 3 years ago

It very likely is not about permissions unfortunately

adityasanehi commented 3 years ago

If it was a problem with the API itself it would be giving a different error. Your empty message error suggests there is data that isn't being output somewhere, which could happen for a myriad of reasons.

Can you name some, I could reallly use this monitor!

SpikeHD commented 3 years ago

Well in this instance I believe it could be a problem with the data being returned from Amazon, perhaps a page is loading correctly or something. Was it working beforehand at all? Or was this happening as soon as you set it up?

adityasanehi commented 3 years ago

This has been happening since i set it up. Does the monitor still work for you?

SpikeHD commented 3 years ago

Yup, still working just fine for me. I assume you can still access Amazon through your regular web browser? image

adityasanehi commented 3 years ago

I tried w the Linux district again it didn’t work. Will try again tomorrow and w a fresh clone. Don’t know what’s going wrong. Maybe something to do w region? Shouldn’t be a problem though.

SpikeHD commented 3 years ago

Shouldn't be anything to do with the region, maybe that error involving the temp directory not being able to made could be related but I would have no idea how to fix that, since I've never seen it before, and you may have to go on a bit of a Googling adventure to figure that one out.

adityasanehi commented 3 years ago

Works for me now, the problem was with the permissions var in the config file. Also, how many products can I track w this?

adityasanehi commented 3 years ago

Also, does it need any proxies and whats the lowest refresh delay it can handle?

SpikeHD commented 3 years ago

You can technically track any amount of items, although that may start bogging your machine down performance wise, so judge based off of your computer resources.

It does not require proxies but it is much more effective if you use them. With proxies you can bring down refresh delays to less than a minute although that too could cause performance issues, so just judge the best you can.