axios 如何使discord机器人张贴比用户提供的消息

d4so4syb  于 2022-11-29  发布在  iOS
关注(0)|答案(1)|浏览(189)

我有一个非常简单的React应用程序,discord机器人,和节点服务器。
我想要的:我希望用户在前端应用程序中键入的文本将由不和谐机器人在不和谐通道中写入。因此,如果用户键入“你好世界”并通过单击按钮提交,不和谐机器人应在通道中键入“你好世界”。
正面:

function App() {

  const [input, setinput] = useState('')
  return (
    <>
      <input onChange={(e) => setinput(e.target.value)}></input>
      <button onClick={() => axios.post('http://localhost:8080/post', { post: input })} >   push me</button>

    </>
  )
}

BOT && BACK [仅相关零件]:

app.post('/pass', async (req, res) => {
    post = req.body.post})
    

client.on('messageCreate', msg => {

    if (msg.content === 'ping') {
        msg.reply(`${post}`);
     }

})

这段代码是有效的。post =用户键入的文本,但它只在特定条件下显示(用户在DISCORD中键入了一条消息“ping”)
但我如何做同样的事情无条件,使我的机器人张贴一条消息,每次用户提交这条消息在前端?
任何帮助都将不胜感激

wyyhbhjk

wyyhbhjk1#

好吧,我找到了用discord Web Hook实现这一点的方法:

app.post('/pass', async (req, res) => {
    post = req.body.post
    
    const embed = new EmbedBuilder()
        .setTitle(`${post}`)
        .setColor(0x00FFFF);

    webhookClient.send({
        content: '',
        username: 'Mighty John Silver',
        avatarURL: 'https://encrypted-tbn0.gstatic.com/images?q=tbn:ANd9GcTLHezDv-KefVm8icZAoVxZOJAsICm2gB5QKg&usqp=CAU',
        embeds: [embed],
    });
})

相关问题