Firebase允许我们通过提出POST请求通过我们自己的应用程序发送通知消息.
本教程向我们提供了如何发出此请求的说明.但是,Authorization标题中有字段,我必须放置自己的服务器密钥.
我可以在哪里获得此服务器密钥?没有这方面的说明.
最后,Facebook为他们的信使推出了API for messenger API.这将允许我们创建聊天机器人.
在入门指南中,我需要设置webhook.这需要驻留在特定域中的Web服务器,并且必须使用SSL连接.
我有VPS,它有静态IP.我制作了自签名证书并创建了使用此证书的简单Node JS Web服务器.首先,我需要验证webhook的令牌:
app.get('/webhook/', function (req, res) {
if (req.query['hub.verify_token'] === '<validation_token>') {
res.send(req.query['hub.challenge']);
}
res.send('Error, wrong validation token');
})
Run Code Online (Sandbox Code Playgroud)
然后我启动了这个服务器应用程序,并在我的Facebook应用程序仪表板中单击验证并保存按钮.
它抛出了这个错误信息:
这意味着Facebook不想接受我的自签名证书.
这带来了几个问题:
我是否需要使用仅由证书颁发机构提供的 SSL证书才能使用facebook messenger?
使用Facebook Messenger比Telegram困难得多.
如何使用此模块将 Nginx 作为服务启动?
根据这个文档,它说:
默认情况下不构建此模块,应使用 --with-http_sub_module 配置参数启用它。
我不明白在哪里输入这个命令。是nginx service start --with-http_sub_module吗?那太令人困惑了。
当我输入时,nginx -V它显示--with-http_sub_module可用。
如果我有这样的课:
class MyObject {
public int myInt;
public String myString;
}
Run Code Online (Sandbox Code Playgroud)
是否可以在不实现转换代码的情况下将此类的实例转换为HashMap?
MyObject obj = new MyObject();
obj.myInt = 1; obj.myString = "string";
HashMap<String, Object> hs = convert(obj);
hs.getInt("myInt"); // returns 1
hs.getString("myString"); // returns "string"
Run Code Online (Sandbox Code Playgroud)
Java是否提供了这种解决方案,或者我需要自己实现convert?
我的班级有50多个字段,每个字段的写入转换器都不是那么好主意.
我已经开始使用这个模块为电报编写机器人逻辑
我可以像这样创建简单的问答逻辑:
bot.onText(/\/start/, function(msg, match){
bot.sendMessage(msg.chat.id, "Hello this is great bot");
});
Run Code Online (Sandbox Code Playgroud)
当用户输入时,/start他将收到此消息.
我想创建像bot和用户之间的链式对话.就像用户类型/buy机器人会显示购买选项一样,在用户输入他想要购买的东西之后,机器人将显示所选产品的类型等等.
如何在用户和机器人之间创建链式对话?如何使机器人记住以前选择的命令并在时间重置它们?我需要保留在自己的数据库中才能这样做吗?
我已经下载了en_core_web_lg模型,并试图找到两个句子之间的相似之处:
nlp = spacy.load('en_core_web_lg')
search_doc = nlp("This was very strange argument between american and british person")
main_doc = nlp("He was from Japan, but a true English gentleman in my eyes, and another one of the reasons as to why I liked going to school.")
print(main_doc.similarity(search_doc))
Run Code Online (Sandbox Code Playgroud)
返回非常奇怪的值:
0.9066019751888448
Run Code Online (Sandbox Code Playgroud)
这两个句子不应具有90%的相似性,它们具有非常不同的含义。
为什么会这样呢?为了使相似度结果更合理,是否需要添加某种附加词汇?
我libv8使用此命令在Windows上安装了gem:
gem install libv8 -- --with-system-v8
Run Code Online (Sandbox Code Playgroud)
然后,当我尝试安装therubyracer它给我很长的错误消息:
Installing therubyracer 0.12.2 with native extensions
Gem::Ext::BuildError: ERROR: Failed to build gem native extension.
current directory: D:/Ruby21-x64/lib/ruby/gems/2.1.0/gems/therubyracer- 0.12.2/ext/v8
D:/Ruby21-x64/bin/ruby.exe -r ./siteconf20160105-4924-101vdyd.rb extconf.rb
checking for main() in -lpthread... yes
checking for v8.h... no
*** extconf.rb failed ***
Could not create Makefile due to some reason, probably lack of necessary
libraries and/or headers. Check the mkmf.log file for more details. You may
need configuration options.
Provided configuration options:
--with-opt-dir
--without-opt-dir
--with-opt-include …Run Code Online (Sandbox Code Playgroud) 可以说我有MyModel那个 hascreated_at和namefields。created_at是日期时间。
假设我有以下模型对象:
<id: 1, name: A, created_at: 04.06.2020T17:49>
<id: 2, name: B, created_at: 04.06.2020T18:49>
<id: 3, name: C, created_at: 05.06.2020T20:00>
<id: 4, name: D, created_at: 06.06.2020T19:20>
<id: 5, name: E, created_at: 06.06.2020T13:29>
<id: 6, name: F, created_at: 06.06.2020T12:55>
Run Code Online (Sandbox Code Playgroud)
我想查询将按以下顺序返回给我这些模型:
[
04.06.2020: [<id: 1, name: A, created_at: 04.06.2020T17:49>, <id: 2, name: B, created_at: 04.06.2020T18:49>],
05.06.2020: [<id: 3, name: C, created_at: 05.06.2020T20:00>]
06.06.2020: [<id: 4, name: D, created_at: 06.06.2020T19:20>, <id: 5, name: E, …Run Code Online (Sandbox Code Playgroud) 我添加了创建新的迁移:
class AddColumnsToDiscipline < ActiveRecord::Migration
def change
add_column :disciplines, :days, :integer, array: true
end
end
Run Code Online (Sandbox Code Playgroud)
然后我就进行了迁移。
在我的seed.rb文件中我添加了这个
t.disciplines.create(name: Company.name, days: [1, 2, 3])
Run Code Online (Sandbox Code Playgroud)
当我运行之后rake db:seed,当我运行我rails console所有创建的模型days属性时,它就具有nil值了。我错过了什么?
我遇到了很烦人的问题。
我已经AdminSite像这样创建了自己的:
from django.contrib import admin
from django.template.response import TemplateResponse
from django.urls import path
class MyAdminSite(admin.AdminSite):
def get_urls(self):
urls = super().get_urls()
my_urls = [
path('statistics/', self.admin_view(self.statistics), name='statistics'),
]
return urls + my_urls
def statistics(self, request):
context = dict(
self.each_context(request),
)
return TemplateResponse(request, 'admin/statistics.html', context)
Run Code Online (Sandbox Code Playgroud)
我已经创建了自己的AdminConfig并将其分配到我INSTALLED_APPS创建的 html 文件中,然后在我的根 url 中添加它,如下所示:
urlpatterns = [
url(r'^admin/', admin.site.urls),
]
Run Code Online (Sandbox Code Playgroud)
我已经登录到我的管理页面,当我尝试打开时, localhost:8000/admin/statistics我收到了这个:
Page not found (404)
Request URL: http://localhost:8000/admin/statistics/
Run Code Online (Sandbox Code Playgroud)
为什么会发生这种情况?我错过了什么?
更新
我在我的 get_urls 上添加了打印,它显示了这一点。(我删除了不必要的 url):
[
<URLPattern '' …Run Code Online (Sandbox Code Playgroud) python ×3
django ×2
ruby ×2
facebook ×1
firebase ×1
java ×1
javascript ×1
nginx ×1
nginx-config ×1
nlp ×1
node.js ×1
spacy ×1
ssl ×1
telegram ×1
telegram-bot ×1