我想构建一个基本上执行以下操作的机器人:
我应该只使用python中的IRC库或套接字,还是需要更多的机器人框架.
你会怎么做?
谢谢!
这是我目前正在使用的代码,但是,我没有让它工作.
#!/usr/bin/python
import socket
network = 'holmes.freenet.net'
port = 6667
irc = socket.socket ( socket.AF_INET, socket.SOCK_STREAM )
irc.connect ( ( network, port ) )
irc.send ( 'NICK PyIRC\r\n' )
irc.send ( 'USER PyIRC PyIRC PyIRC :Python IRC\r\n' )
irc.send ( 'JOIN #pyirc\r\n' )
irc.send ( 'PRIVMSG #pyirc :Can you hear me?\r\n' )
irc.send ( 'PART #pyirc\r\n' )
irc.send ( 'QUIT\r\n' )
irc.close()
Run Code Online (Sandbox Code Playgroud) 我一直在尝试用C#制作一个"Skype Bot".到目前为止,我已经成功地让它在一对一的聊天中工作.我不能让它在群聊中工作.这是我的来源:
using System;
using System.Windows.Forms;
using SKYPE4COMLib;
namespace SkypeBot
{
public partial class Form1 : Form
{
private Skype skype;
private const string trigger = "!"; // Say !help
private const string nick = "Bot";
public Form1()
{
InitializeComponent();
}
private void Form1_Load(object sender, EventArgs e)
{
skype = new Skype();
// Use skype protocol version 7
skype.Attach(7, false);
// Listen
skype.MessageStatus += new _ISkypeEvents_MessageStatusEventHandler(skype_MessageStatus);
}
private void skype_MessageStatus(ChatMessage msg, TChatMessageStatus status)
{
if (TChatMessageStatus.cmsRead == status)
{
return; …Run Code Online (Sandbox Code Playgroud) FormBuilder当我在路易斯创建时,我正试图结合我的意图.我只是找不到这样做的文档.
我想做以下事情:
我该怎么做呢?有教程吗?我看到人们在谈论LuisDialogs,但我只是不知道从哪里开始.
我没有实现一些非常简单的事情。我无法向特定频道发送消息。我浏览了有关堆栈溢出的文档和类似线程。
client.channels.get().send()
不起作用。它不是一个函数。我也不认为它是官方文档中 Channel 类的方法,但到目前为止我发现的每个线程都告诉我使用它。
我设法让机器人通过监听消息然后使用来回复消息,message.reply()但我不想要那样。我希望我的机器人在特定频道中说些什么client.on('ready')
我错过了什么?
我正在尝试使用 python抓取https://www.controller.com/,并且由于该页面检测到使用 bot 的机器人pandas.get_html,并且使用用户代理和旋转代理进行请求,因此我求助于使用 selenium webdriver。但是,这也被检测为带有以下消息的机器人。任何人都可以解释我怎样才能克服这个问题?:
请原谅我们的打扰... 当您浏览 www.controller.com 时,您的浏览器的某些方面让我们认为您是一个机器人。发生这种情况的原因有以下几个: 您是一名超级用户,以超人的速度浏览此网站。您已在 Web 浏览器中禁用 JavaScript。第三方浏览器插件(例如 Ghostery 或 NoScript)阻止 JavaScript 运行。此支持文章中提供了其他信息。要请求解锁,请填写下面的表格,我们会尽快审核”
这是我的代码:
from selenium import webdriver
import requests
from selenium.webdriver.common.action_chains import ActionChains
from selenium.webdriver.common.keys import Keys
options = webdriver.ChromeOptions()
options = webdriver.ChromeOptions()
options.add_argument("start-maximized")
options.add_argument("disable-infobars")
options.add_argument("--disable-extensions")
#options.add_argument('headless')
driver = webdriver.Chrome(chrome_options=options)
driver.get('https://www.controller.com/')
driver.implicitly_wait(30)
Run Code Online (Sandbox Code Playgroud) 你好.我是一个初学者,正在尝试学习Python,对于我的第一个项目之一,我想编写一个脚本,自动为我填写调查.我熟悉编码,我编写了大部分代码来解决这个问题.我正在努力的是编写一个方法,它会触发问题#1中的按钮#1,或者按下任何给定的按钮.我已经意识到我可以做到这一点的一种方法是,可以通过编写一个脚本按Tab-> up-> down-> tab-> up - >按顺序回答所有问题.
以下是调查结果的图像(为清晰起见,CSS已禁用). http://i.imgur.com/Tn94KFA.jpg
编写方法来推送单选按钮的一种方法是什么?
[ 免责声明 ]:我已经检查了以下问题,但在我目前的情况下它们对我没用:
在我的Symfony2应用程序中,我构建了一个异常监听器,它让我知道未处理的错误.
当机器人访问我的页面时,我收到有关以下错误的消息,该页面位于防火墙后面:
A Token was not found in the SecurityContext.
Run Code Online (Sandbox Code Playgroud)
我还检索以下数据:
User agent Mozilla/5.0 (compatible; AhrefsBot/5.0; +http://ahrefs.com/robot/)
Trace as string #0 /home/foodmeup.net/production/releases/20150527141710/app/cache/prod/classes.php(2951): Symfony\Component\Security\Http\Firewall\AccessListener->handle(Object(Symfony\Component\HttpKernel\Event\GetResponseEvent))
#1 [internal function]: Symfony\Component\Security\Http\Firewall->onKernelRequest(Object(Symfony\Component\HttpKernel\Event\GetResponseEvent), 'kernel.request', Object(Symfony\Component\EventDispatcher\ContainerAwareEventDispatcher))
#2 /home/foodmeup.net/production/releases/20150527141710/app/cache/prod/classes.php(2205): call_user_func(Array, Object(Symfony\Component\HttpKernel\Event\GetResponseEvent), 'kernel.request', Object(Symfony\Component\EventDispatcher\ContainerAwareEventDispatcher))
#3 /home/foodmeup.net/production/releases/20150527141710/app/cache/prod/classes.php(2138): Symfony\Component\EventDispatcher\EventDispatcher->doDispatch(Array, 'kernel.request', Object(Symfony\Component\HttpKernel\Event\GetResponseEvent))
#4 /home/foodmeup.net/production/releases/20150527141710/app/cache/prod/classes.php(2299): Symfony\Component\EventDispatcher\EventDispatcher->dispatch('kernel.request', Object(Symfony\Component\HttpKernel\Event\GetResponseEvent))
#5 /home/foodmeup.net/production/releases/20150527141710/app/bootstrap.php.cache(3017): Symfony\Component\EventDispatcher\ContainerAwareEventDispatcher->dispatch('kernel.request', Object(Symfony\Component\HttpKernel\Event\GetResponseEvent))
#6 /home/foodmeup.net/production/releases/20150527141710/app/bootstrap.php.cache(2990): Symfony\Component\HttpKernel\HttpKernel->handleRaw(Object(Symfony\Component\HttpFoundation\Request), 1)
#7 /home/foodmeup.net/production/releases/20150527141710/app/bootstrap.php.cache(3139): Symfony\Component\HttpKernel\HttpKernel->handle(Object(Symfony\Component\HttpFoundation\Request), 1, true)
#8 /home/foodmeup.net/production/releases/20150527141710/app/bootstrap.php.cache(2383): Symfony\Component\HttpKernel\DependencyInjection\ContainerAwareHttpKernel->handle(Object(Symfony\Component\HttpFoundation\Request), 1, true)
#9 /home/foodmeup.net/production/releases/20150527141710/web/app.php(28): Symfony\Component\HttpKernel\Kernel->handle(Object(Symfony\Component\HttpFoundation\Request))
#10 {main}
Run Code Online (Sandbox Code Playgroud)
这发生在我上次更新以来的所有网站页面上,但我无法弄清楚问题是什么.如果我自己访问该页面,则没有问题,也没有异常.
我对我设置的防火墙的理解是,如果有人试图访问受保护资源,他会被重定向到登录页面而不会抛出任何错误.在这里,我担心一些用户可能会登陆错误页面而不是被重定向到登录页面.当我想通过从抛出错误时访问referer来复制错误时,我被正确地重定向,所以我不明白抛出错误与重定向用户的情况是什么.
编辑:
我的异常监听服务:
exception_listener:
class: %exception_listener.class%
arguments: [@router, @session, @security.token_storage, @email_manager, @doctrine, …Run Code Online (Sandbox Code Playgroud) 如果我的机器人提出不同的问题,如果用户回答了每个问题,我如何找出哪个答案与哪个问题相关.有一个称为元数据的字段,您可以将其附加到sendTextMessage API,但是当用户响应时,此元数据将以未定义的形式出现.你们是否使用任何节点缓存来跟踪状态或FSM,如machina.js?我怎样才能最好地弄清楚我们目前陷入的对话?
Telegram bot向我发送了一条带有文本片段的消息,我想编辑它,然后发送回机器人进行进一步处理.
复制和粘贴需要时间.重新输入信息需要时间.
理想情况下,我想在机器人的消息上按一个内联按钮"编辑",并在我的回复输入框中显示消息文本进行编辑.(以某种方式附加到我的回复的消息ID将是一个加号).
我尝试使用除/ start*之外的参数的深度链接,但这似乎不起作用.
我可以使用bot API(或任何其他电报API)准备好在我的输入框中编辑文本吗?
我刚刚使用Microsoft bot框架在我的dev slack团队中创建了我的第一个slack bot.现在我想将机器人添加到另一个团队进行测试.我的机器人不会公开使用,只是公司内部的.我尝试使用Add to Slack按钮将其添加到新团队但我得到了:
OAuth错误:invalid_team_for_non_distributed_app.
谢谢.
bots ×10
python ×3
c# ×2
azure-language-understanding ×1
botframework ×1
chatbot ×1
discord.js ×1
irc ×1
node.js ×1
php ×1
scripting ×1
selenium ×1
send ×1
skype ×1
skype4com ×1
slack-api ×1
symfony ×1
telegram ×1
telegram-bot ×1
webdriver ×1