以简单的方式或工具在 Twitter(机器人)中自动回复推文?
Posted
技术标签:
【中文标题】以简单的方式或工具在 Twitter(机器人)中自动回复推文?【英文标题】:Auto-Reply Tweets in Twitter (bot) in simple way or tools? 【发布时间】:2011-08-17 11:32:43 【问题描述】:是任何可能且简单的方法来制作一个 twitter 机器人,它将在特定时间间隔内回复一些推文(取决于搜索词)。谁能帮帮我。
例如 twitter.com/shastribot
谢谢
【问题讨论】:
【参考方案1】:如果你喜欢 Ruby,那么我建议使用 Twitter gem:https://github.com/jnunemaker/twitter 它使事情变得非常容易。
然后,您可以编写一个脚本来检查机器人是否有任何回复,以及是否有任何新回复发送消息。然后将其设置为一个 cron 作业,按照您认为必要的频率运行。
还有 Twitter Bot 接口,我自己没用过,但可能值得一看:http://integrum.rubyforge.org/twitter_bot/
【讨论】:
【参考方案2】:你应该试试tweebot。它是 twitter 机器人的 python 微框架。这个库提供了内置块(如过滤器、选择器和操作),您可以组合它们来实现您的要求。例如,下一个代码演示了如何创建“转发”机器人 (more examples) 的规范实现。
# Next code demonstrates how to create simple twitter bot that select all
# friends' tweets with your mentiones and retweet they.
import tweebot as twb
def main():
# Step 1. setup context configuration
repeater = twb.Context(
'app_name' : 'repeater',
'username' : '<YOUR ACCOUNT NAME>',
'consumer_key' : '<YOUR CONSUMER KEY>',
'consumer_secret' : '<YOUR CONSUMER SECRET>',
'access_key' : '<YOUR ACCESS KEY>',
'access_secret' : '<YOUR ACCESS SECRET>',
'timeout' : 10 * 60, # 10 min, ensure twitter api limits
'history_file' : 'history.json', # don't repeat answered tweets
)
# Step 2. enable pretty logging (stdout by default)
twb.enable_logging(repeater)
# Step 3. setup chain Selector->Filters->Action
chain = (
# Select recently tweets with current user mentions.
twb.SearchMentions(),
# Apply several filters to selected tweets:
twb.MultiPart.And(
# exclude answered, blocked and own tweets
twb.BaseFilter,
# then leave only friends tweets (friends list will be cached)
twb.UsersFilter.Friends(),
# and finally, exclude tweets with invalid content
twb.BadTweetFilter),
# And now, retweet remain tweets
twb.ReplyRetweet)
# Step 4. start processing
repeater.start_forever(*chain)
if __name__ == '__main__':
main()
【讨论】:
【参考方案3】:Ruby 的twitter gem 是一个非常好的。您可以使用twitter API 来查看可用的方法。
您可以从 Twitter::REST::Client 开始,如下所示:
twitter_client = Twitter::REST::Client.new do |config|
config.consumer_key = "YOUR_CONSUMER_KEY"
config.consumer_secret = "YOUR_CONSUMER_SECRET"
config.access_token = "YOUR_ACCESS_TOKEN"
config.access_token_secret = "YOUR_ACCESS_SECRET"
end
那么您可以将您的 twitter_client 用于各种目的。例如,您可以使用以下方式将推文发布到您的个人资料:
twitter_client.update("I am posting this tweet from my Ruby program")
您可以通过提供这样的推特用户名来获取所有推文的列表:
twitter_client.user_timeline("YOUR_TWITTER_USER_NAME").each do |tweet|
puts tweet.text
end
要搜索推文,请查看this。
【讨论】:
以上是关于以简单的方式或工具在 Twitter(机器人)中自动回复推文?的主要内容,如果未能解决你的问题,请参考以下文章
如何使用 Quickblox 在 Chat ViewController 中自定义或使用我自己的 nib 作为工具栏?