如何在Discord网页端通过控制台发送自动化消息 现有代码无法发送求解决方案
Discord网页端控制台自动发消息修复方案
原代码失效核心原因
- 直接修改输入框的
innerHTML无法触发Discord使用的React框架内部状态同步,Slate编辑器识别不到实际输入的内容 - 回车键盘事件派发到了
document.body而非输入框元素本身,无法被编辑器捕获 - 仅配置
keyCode属性不符合现代浏览器事件规范,部分场景下事件不会被识别为有效回车操作
修复后可运行代码
// 输入框类名会随Discord版本更新变化,失效时请自行审查元素获取最新类名 const tb = document.querySelector('.markup-2BOw-j.slateTextArea-1Mkdgw'); if (tb) { const msg = "Time is nearly up"; const interval = 3000; // 发送间隔单位为毫秒,不建议设置过短避免触发反作弊检测 function sendMessage() { // 先激活输入框焦点 tb.focus(); // 通过插入文本命令触发编辑器状态更新,替代直接修改DOM document.execCommand('insertText', false, msg); // 构造符合规范的回车事件 const enterEvent = new KeyboardEvent('keydown', { bubbles: true, cancelable: true, key: 'Enter', code: 'Enter', which: 13, keyCode: 13 }); // 给输入框派发回车事件 tb.dispatchEvent(enterEvent); } setInterval(sendMessage, interval); }
补充说明
- Discord有完善的反机器人检测机制,频繁使用此类脚本可能导致账号被限制甚至封禁,相关风险请自行承担
- 若运行后仅填入内容不发送,可尝试把
keydown替换为keyup再测试,部分Discord版本监听的是按键抬起事件
内容的提问来源于stack exchange,提问作者Chipe
相关产品推荐
相关产品推荐

