First Twitter Bot
你的第一个Twitter Bot
配置 eliza 环境 (v0.25.9)
安装插件
插件仓库: https://github.com/elizaos-plugins
这个版本的 eliza
弱化了 client 的概念,把 client 统一到了 plugin 里边。
install & build :
character 配置
在 character 中配置 llm 的 modelProvider 和 plugins
twitter 相关的 plugin 有两个:
- @elizaos-plugins/client-twitter
- @elizaos-plugins/plugin-twitter 只包含一个发 twitter 的 Action : POST_TWEET
尝试启动 Agent
这个时候,会报 Env 不存在的错误。
Env 配置选项
1. 基本配置
环境变量 | 描述 |
---|---|
TWITTER_USERNAME | twitter 用户 id |
TWITTER_PASSWORD | 登录密码。如果你是 Gmail 登录过来的,需要单独设置一次。 |
TWITTER_EMAIL | 注册邮箱 |
TWITTER_2FA_SECRET | 很重要,最好开启配置。 |
Cookie 模式登录
环境变量 | 浏览器 cookie 名称 |
---|---|
TWITTER_COOKIES_AUTH_TOKEN | auth_token |
TWITTER_COOKIES_CT0 | ct0 |
TWITTER_COOKIES_GUEST_ID | guest_id |
从浏览器的 cookie 中获取,当以上的登录方式被 Deny 的时候,可以尝试 Cookie 模式。
配置好以上的选项,就可以登录成功了。
2. 高级配置
自动发 Twitter 配置
环境变量 | 描述 | 默认 |
---|---|---|
POST_INTERVAL_MIN | 最小分钟数 | 90 |
POST_INTERVAL_MAX | 最大分钟数 | 180 |
POST_IMMEDIATELY | 启动后立即发送 twitter | false |
ENABLE_TWITTER_POST_GENERATION | 是否开启自动生成 | true |
bot 自动发 twitter 的间隔介于 POST_INTERVAL_MIN ~ POST_INTERVAL_MAX 分钟之间。 默认在 90 ~ 180 分钟之间随机发 Twitter。
配置逻辑:client-twitter/src/post.ts:#L239
如果你想关闭自动生成 twitter, 可以把 ENABLE_TWITTER_POST_GENERATION 设置为 false.
Twitter 使用的 client 类库是:https://github.com/elizaOS/agent-twitter-client
Twitter 动作响应
环境变量 | 描述 | 默认 |
---|---|---|
TWITTER_POLL_INTERVAL | 动作检查频率 | 120 |
每隔一段时间 (默认 2 分钟)拉取需要响应的动作,做出反馈。
动作响应源数据
响应动作分类:
- at 提及
- 回复
- 引用
- 私信
搜索功能
开启方法:
Agent 可以根据 character 中定义的 topics 搜索相关 twitter, 并自动完成交互。
相关代码:
其他功能
- space 功能
需要一个 tts 的 api key。
- discord 许可的 twitter 发送
- 生成 twitter 内容发送到一个 discord 的 channel
- 用户可以通过或者拒绝发送这条 twitter
- 许可的 twitter 内容会自动发送
可能出现的问题
1. 插件安装出现网络连接错误
修改 packages/cli/src/index.js 使用 axios 代替 fetch , 并启动 proxy 配置。
替换代码:
2. 操作过程中可能遇到网络错误
可以在 Agent 测尝试开启全局代理
agent/src/index.ts 中添加全局代理代码:
3. 部分日志显示不全
调整日志显示级别
全部的日志级别:
4. Twitter 账号被锁
登录 Twitter 时候,太频繁会出现账号被锁的情况,日志如下:
登录 Twitter 账号解锁。