标签: bots

IRC Python Bot:最佳方式

我想构建一个基本上执行以下操作的机器人:

  1. 收听房间并与用户互动,并鼓励他们下载机器人.
  2. 一旦用户PMed,机器人就会使用各种AI技术与客户进行交互.

我应该只使用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)

python irc bots

11
推荐指数
3
解决办法
3万
查看次数

如何使用Skype4COM在Skype群聊中发送消息?

我一直在尝试用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)

c# bots skype skype4com

11
推荐指数
1
解决办法
1万
查看次数

如何将Luis集成到bot构建器中

FormBuilder当我在路易斯创建时,我正试图结合我的意图.我只是找不到这样做的文档.

我想做以下事情:

  1. 用户将输入用Luis解释的短语.
  2. 如果不是短语中给出所有实体,则表单构建器将填补空白.

我该怎么做呢?有教程吗?我看到人们在谈论LuisDialogs,但我只是不知道从哪里开始.

c# bots botframework azure-language-understanding

11
推荐指数
1
解决办法
8214
查看次数

Discord.js 向特定频道发送消息

我没有实现一些非常简单的事情。我无法向特定频道发送消息。我浏览了有关堆栈溢出的文档和类似线程。

client.channels.get().send()

不起作用。它不是一个函数。我也不认为它是官方文档中 Channel 类的方法,但到目前为止我发现的每个线程都告诉我使用它。

我设法让机器人通过监听消息然后使用来回复消息,message.reply()但我不想要那样。我希望我的机器人在特定频道中说些什么client.on('ready')

我错过了什么?

bots send node.js discord.js

11
推荐指数
2
解决办法
7万
查看次数

网页正在使用 Chromedriver 作为机器人检测 Selenium Webdriver

我正在尝试使用 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 selenium bots webdriver selenium-webdriver

11
推荐指数
1
解决办法
3万
查看次数

自动化Web浏览器表单填写Python

题:

你好.我是一个初学者,正在尝试学习Python,对于我的第一个项目之一,我想编写一个脚本,自动为我填写调查.我熟悉编码,我编写了大部分代码来解决这个问题.我正在努力的是编写一个方法,它会触发问题#1中的按钮#1,或者按下任何给定的按钮.我已经意识到我可以做到这一点的一种方法是,可以通过编写一个脚本按Tab-> up-> down-> tab-> up - >按顺序回答所有问题.

以下是调查结果的图像(为清晰起见,CSS已禁用). http://i.imgur.com/Tn94KFA.jpg

编写方法来推送单选按钮的一种方法是什么?


[ 免责声明 ]:我已经检查了以下问题,但在我目前的情况下它们对我没用:

python scripting bots

10
推荐指数
1
解决办法
2万
查看次数

Symfony:SecurityContext中没有为防火墙后面的路由找到令牌

在我的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)

php error-handling bots symfony

10
推荐指数
1
解决办法
3023
查看次数

在Facebook Messenger机器人中保存/跟踪状态的正确方法是什么?

如果我的机器人提出不同的问题,如果用户回答了每个问题,我如何找出哪个答案与哪个问题相关.有一个称为元数据的字段,您可以将其附加到sendTextMessage API,但是当用户响应时,此元数据将以未定义的形式出现.你们是否使用任何节点缓存来跟踪状态或FSM,如machina.js?我怎样才能最好地弄清楚我们目前陷入的对话?

bots chatbot facebook-chatbot

10
推荐指数
2
解决办法
4661
查看次数

电报机器人预填充文本供用户编辑

Telegram bot向我发送了一条带有文本片段的消息,我想编辑它,然后发送回机器人进行进一步处理.

复制和粘贴需要时间.重新输入信息需要时间.

理想情况下,我想在机器人的消息上按一个内联按钮"编辑",并在我的回复输入框中显示消息文本进行编辑.(以某种方式附加到我的回复的消息ID将是一个加号).

我尝试使用除/ start*之外的参数的深度链接,但这似乎不起作用.

我可以使用bot API(或任何其他电报API)准备好在我的输入框中编辑文本吗?

bots telegram telegram-bot

10
推荐指数
1
解决办法
1227
查看次数

如何在多个团队中安装bot而不将其添加到目录中?

我刚刚使用Microsoft bot框架在我的dev slack团队中创建了我的第一个slack bot.现在我想将机器人添加到另一个团队进行测试.我的机器人不会公开使用,只是公司内部的.我尝试使用Add to Slack按钮将其添加到新团队但我得到了:

OAuth错误:invalid_team_for_non_distributed_app.

谢谢.

bots slack-api

10
推荐指数
1
解决办法
2955
查看次数