All I'm doing right now is trying to send a dm to myself to see if I can get this working. I've tried:
client.users.cache.get(id).send('hi')
Please take look at this post, it could resolve your problem.
Basically what it seems to happen is that the get method isn’t consistent like fetch. So prefer to use the fetch method, it will look something like this:
const user = await client.users.cache.fetch(id)
user.send('hi')
if you’re not in a asynchronous scope you could use the "then" approach:
client.users.cache.fetch(id)
.then((user) => user.send('hi'))
.catch(e => console.log(e))