Как я могу добавить сообщение в массив? - PullRequest
0 голосов
/ 16 марта 2020

Я хочу добавить сообщение своего бота в массив сразу после его отправки ^^

Я пробовал что-то подобное:

task_chan.send('', {
embed: {
      color: task_colors[0x808080],
      title: 'Tache n°1',
      thumbnail: {
         url: 'https://...'
      },
      author: {
         name: 'Tache à prendre',
         icon_url: 'https://zupimages.net/up/20/12/xqsf.jpg'
      },
      fields:[{
         name: "Tache à faire :",
         value: "...",
      },{
         name: 'Avancement de la tache :',
         value: 'Non commencée'
      }]
      }
})
.then(tasks.push(bot.user.lastMessage))

tasks определяется с помощью var tasks = []

, когда я выполняю этот код, он отправляет сообщение правильно, но не сохраняет его в массиве, а тот, который был непосредственно перед сохранением. Я надеюсь, что вы можете помочь мне:)

1 Ответ

0 голосов
/ 16 марта 2020

Просто для пояснения, .then требует функции в качестве первого аргумента. Таким образом, происходит то, что tasks.push(bot.user.lastMessage) пытался быть выполненным в качестве параметра и, возможно, молча терпел неудачу, или, возможно, вы пропустили сообщение об ошибке.

.then( () => tasks.push(bot.user.lastMessage) ) передает анонимную функцию, которая выполняет твоя задача пу sh.

.then также дает вам доступ к результатам ваших асинхронных .send действий, которые могут быть вам полезны. Вы можете получить к нему доступ, задав анонимной функции параметр:

.then( (res) => { 
  console.log(res)
  tasks.push(bot.user.lastMessage) 
})
...