我有这两个数组:
主要:
[
{ id: "1"},
{ id: "2"},
{ id: "3"}
]
Run Code Online (Sandbox Code Playgroud)
过滤:
[
{ id: "80", link_id: "1"},
{ id: "50", link_id: null},
{ id: "67", link_id: "3"}
]
Run Code Online (Sandbox Code Playgroud)
我需要获取main
其中包含filtered
属性的ID 的项目:link_id
,我尝试过:
main.filter(x => filtered.includes(x.id));
Run Code Online (Sandbox Code Playgroud)
问题是这将返回null,并且这也不允许我检查是否link_id
为null
var main = [{
id: "1"
},
{
id: "2"
},
{
id: "3"
}
],
filtered = [{
id: "80",
link_id: "1"
},
{
id: "50",
link_id: null
},
{
id: "67",
link_id: "3" …
Run Code Online (Sandbox Code Playgroud)我想从删除产品catalogs
,但我找不到任何API
执行此操作的方法,这里是文档。
我知道如何获得所有产品:
https://api.sandbox.paypal.com/v1/catalogs/products?page_size=10&page=1&total_required=true
Run Code Online (Sandbox Code Playgroud)
这将返回如下内容:
{
"products": [
{
"id": "PROD-8DN39312TB525331M",
"name": "Video Streaming Service",
"description": "Video streaming service",
"create_time": "2020-01-07T18:50:01Z",
"links": [
{
"href": "https://api.sandbox.paypal.com/v1/catalogs/products/PROD-8DN39312TB525331M",
"rel": "self",
"method": "GET"
}
]
},
...
Run Code Online (Sandbox Code Playgroud)
有没有实际的方法来删除产品?
我正在尝试做什么
我正在尝试对这个基于 CodeIgniter 4 构建的 php 应用程序进行 dockerize。该应用程序具有以下依赖项,这些依赖项通常通过 Composer 安装:
"require": {
"php": "^7.3 || ^8.0",
"myth/auth": "dev-develop",
"codeigniter4/framework": "^4.1",
"codeigniter4/translations" : "^4.0"
},
Run Code Online (Sandbox Code Playgroud)
项目结构组织如下:
docker
database
nginx
php-fpm
docker-compose.yml
src
... app files ...
tests
composer.json
Run Code Online (Sandbox Code Playgroud)
在里面docker-compose.yml
我有一个名为的服务php-fpm
,它将所有应用程序文件复制到公共/var/www/html
目录nginx
:
php-fpm:
container_name: boilerplate_app
build:
context: ./php-fpm
volumes:
- ../src:/var/www/html
Run Code Online (Sandbox Code Playgroud)
我需要做的是使用 Composer 安装应用程序依赖项。
我尝试过的
最初,我想在Dockerfile
可用php-fpm
文件夹中执行此操作:
FROM php:8.0.2-fpm-alpine
RUN docker-php-ext-install pdo_mysql
RUN docker-php-ext-install mysqli
# Install Composer
COPY --from=composer /usr/bin/composer …
Run Code Online (Sandbox Code Playgroud) I have a list of football matches defined as follow:
id | datetime | status | gameweek | round_id | home_team_id
1 2019-03-31 00:00:00 1 29 12696 1243
2 2019-03-31 00:00:00 1 29 12696 1248
3 2019-03-31 00:00:00 1 29 12696 1242
4 2019-03-31 00:00:00 1 29 12696 1246
5 2019-03-31 00:00:00 1 29 12696 1244
6 2019-03-31 00:00:00 1 29 12696 1247
7 2019-03-31 20:30:00 1 29 12696 1241
8 2019-03-31 00:00:00 1 29 12696 1249
9 2019-03-31 00:00:00 …
Run Code Online (Sandbox Code Playgroud) 我创建了一个向用户显示调查向导的应用程序。当用户启动/ start命令时,我将调用AddProject
:
const Telegraf = require('telegraf');
const bot = new Telegraf(process.env.BOT_TOKEN);
const session = require('telegraf/session');
bot.use(session());
const main = new TelegrafInlineMenu("Welcome.");
main.setCommand('start');
main.simpleButton('Start Survey', 'START_SURVEY', {
doFunc: async ctx => surveyController.AddProject(ctx, bot)
});
Run Code Online (Sandbox Code Playgroud)
基本上,以上代码创建了一个菜单,其中显示了标签Welcome(欢迎)和一个按钮以启动调查。当用户单击按钮时,从SurveyController调用方法AddProject:
const Composer = require('telegraf/composer');
const stepHandler = new Composer();
const Stage = require('telegraf/stage');
const WizardScene = require('telegraf/scenes/wizard');
const userController = require('../controllers/user.controller');
module.exports = {
AddProject: async function (ctx, bot) {
const superWizard = new WizardScene('super-wizard',
(ctx) => {
ctx.reply('Step 1', Markup.inlineKeyboard([
Markup.urlButton('??', 'http://telegraf.js.org'),
Markup.callbackButton('?? …
Run Code Online (Sandbox Code Playgroud) 我做了什么:
我Telegram
使用TelegrafJS框架开发了一个机器人。这个机器人允许用户订阅付费频道,这个频道是私有的。
所以支付完成后,机器人会发送邀请链接,让用户加入频道。
问题
现在假设付费用户将邀请链接发送给另一个用户(谁没有付费),非付费用户将获得对付费频道的访问,就像付费一样。
在想解决办法之前,有必要了解一下Telegram的邀请链接的限制:
我认为的解决方案
我想在一个内嵌按钮后面显示邀请链接,所以用户会看到点击这里按钮 3 秒钟,然后这将被撤销并创建另一个链接。这并没有消除无需付费订阅即可访问付费频道的问题,但它使不公平用户的生活变得更加困难。
可能的其他问题:当用户点击链接时:
抱歉,此频道似乎不存在。
这意味着该频道的邀请链接目前不稳定。它通常发生在连续多次单击“加入”之后,或者如果多个用户同时尝试加入。
尝试次数过多,请稍后再试
这意味着用户最近点击了太多无效的邀请链接。最有可能的是,他在此之前收到了很多消息“对不起,此频道似乎不存在”,或者连续加入了太多频道/群组。
结论
有没有更安全的方法来处理这个问题?
我正在使用nginx-proxy-automation运行我使用编写的 php 应用程序,CodeIgniter 4
应用程序结构如下:
php-application
docker
php-fpm
config
php.ini
Dockerfile
src
node_modules
app
public
tests
vendor
writable
.env
composer.json
package.json
spark
docker-comopse.yml
Run Code Online (Sandbox Code Playgroud)
该index.php
文件在public
文件夹内可用。该docker-compose.yml
中php-application
包含了以下的东西:
nginx
nginx-proxy
docker-compose.yml
php-application
docker-compose.yml
Run Code Online (Sandbox Code Playgroud)
在里面php-application/docker-compose.yml
我有这个:
version: '3.7'
services:
php-fpm:
container_name: boilerplate_app
restart: always
build:
context: .
dockerfile: ./docker/php-fpm/Dockerfile
volumes:
- ./src:/var/www/html
environment:
# NGINX-PROXY ENVIRONMENT VARIABLES: UPDATE ME
- VIRTUAL_HOST=mysite.com
- VIRTUAL_ROOT=/var/www/html/public
- VIRTUAL_PORT=9000
- VIRTUAL_PROTO=fastcgi
- LETSENCRYPT_HOST=mysite.com
- LETSENCRYPT_EMAIL=info@mysite.com
- NETWORK=proxy …
Run Code Online (Sandbox Code Playgroud) 机器人描述
我正在使用TelegrafJS开发Telegram
机器人。我创建了自己的中间件,它应该处理发送到组的所有更新消息,特别是,如果更新是服务消息,则机器人必须将其删除。
问题
问题在于机器人仅捕获new_chat_members
用户离开聊天时的事件,而left_chat_member
不会调用该事件。
中间件代码
class MessageHandler {
/**
* Check if is a message service
*/
_checkServiceMessage(ctx) {
let unwantedMessages = ['new_chat_members', 'left_chat_member', 'new_chat_title'];
let isUnwanted = unwantedMessages.some(x => ctx.updateSubTypes.includes(x));
if (isUnwanted) {
console.log(ctx.updateSubTypes);
// Delete service message
ctx.deleteMessage().then(function (result) {
// add or remove user to my own db
}).catch(function (e) {
console.log(e);
});
}
}
middleware() {
return (ctx, next) => {
this._checkServiceMessage(ctx);
return next();
}
}
}
module.exports …
Run Code Online (Sandbox Code Playgroud) 我想在 上运行我的Wordpress
网站Docker
,并且我想将Wordpress
数据库连接到另一个只有我所有网站的数据库的容器。
为此,我LAMP
使用以下内容创建了一个容器docker-compose.yml
:
version: "3"
services:
web:
image: webdevops/php-apache:alpine-php7
ports:
- "4500:80"
volumes:
- ./www:/app
- ./uploads.ini:/opt/docker/etc/php/php.ini
db:
image: mysql
command: --default-authentication-plugin=mysql_native_password
restart: always
environment:
MYSQL_ROOT_PASSWORD: root
ports:
- "3306:3306"
phpmyadmin:
image: phpmyadmin/phpmyadmin
environment:
MYSQL_ROOT_PASSWORD: root
ports:
- "8088:80"
Run Code Online (Sandbox Code Playgroud)
如您所见,我已Apache
使用该webdevops
图像将其安装为服务,这将返回以下内容:
然后,我创建了一个包含Wordpress
实例的新容器:
version: '3'
services:
wordpress:
depends_on:
- db
image: wordpress:latest
volumes:
- ./wp/wp-content:/var/www/html/wp-content
ports:
- "8000:80"
restart: always
environment:
WORDPRESS_DB_HOST: lamp_db_1:3306
WORDPRESS_DB_USER: root
WORDPRESS_DB_PASSWORD: …
Run Code Online (Sandbox Code Playgroud) 我正在使用这个库,当我在本地运行我的应用程序时一切正常。我在 NetworkHelper 类中实现了 TorSharp:
using Knapcode.TorSharp;
using System;
using System.IO;
using System.Net;
using System.Net.Http;
using System.Threading.Tasks;
namespace SWP.Helpers
{
public class NetworkHelper
{
private int _maxRequests = 100;
private int _failedAttempts = 10;
private HttpClient _httpClient = null;
private TorSharpProxy _proxy = null;
public async Task<string> GetHtmlAsync(Uri url)
{
try
{
if (_httpClient == null)
{
var settings = new TorSharpSettings
{
ZippedToolsDirectory = Path.Combine(Path.GetTempPath(), "TorZipped"),
ExtractedToolsDirectory = Path.Combine(Path.GetTempPath(), "TorExtracted"),
PrivoxySettings =
{
Port = 1337,
},
TorSettings =
{ …
Run Code Online (Sandbox Code Playgroud)