小编Ala*_*412的帖子

如何使用电报api获取频道的成员计数

我想获取频道的会员人数,但不知道应该使用哪种方法?

我不是那个频道的管理员,我只想得到计数。

编辑:我使用的是主电报 api,而不是电报 Bot api

api telegram

8
推荐指数
2
解决办法
9192
查看次数

如何在nodejs的forEach循环中使用await

我有一组用户,我想检查他们中有多少人加入了我的电报频道,我的检查方法是异步方法,我可以使用这样的方法:

check(user)
    .then((res) => {
    if(res) {
       // user is joined 
      }
    else {
       // user is not joined
    }
})
Run Code Online (Sandbox Code Playgroud)

但我不知道如何将这种方法用于一组用户。

我已经测试了这段代码:

members = 0;
users.forEach((user) => {
            check(user)
                .then((result) => {
                    if(result) {
                          members++;
                      }
                });
        })
Run Code Online (Sandbox Code Playgroud)

但是这段代码肯定是错误的,因为我不知道什么时候应该将结果发送给我的管理员(想要检查加入了多少用户的人)。我把发送方法放在了之后,forEach但它显示了一个非常低的数字(接近 0)。

我搜索并找到了一个关键字,await并在异步方法中进行了尝试:

async function checkMembership() {
    let data;
    await check(user)
        .then((res) => {
            data = res
        });
    console.log(data);
}
Run Code Online (Sandbox Code Playgroud)

它运行良好,但是当我await像这样使用in forEach 循环时:

users.forEach((user) => {
            await check(user)
                .then((result) => {
                    console.log(result);
                });
        })
Run Code Online (Sandbox Code Playgroud)

我收到以下错误: …

node.js

6
推荐指数
1
解决办法
6306
查看次数

路由角度 5 中的破折号分隔参数

我想用破折号分隔 URL 中的参数,如下所示:

localhost/add/5-ninja
Run Code Online (Sandbox Code Playgroud)

这里的 id 是 5,名字是 ninja。当我将配置更改为: path: '/:id-:name' 它无法正常工作。如何在 URL 中创建破折号分隔的参数

angular-ui-router angular

5
推荐指数
1
解决办法
2497
查看次数

尝试在 AWS Lambda 函数中下载文件时如何修复“ClientError:调用 HeadObject 操作时发生错误 (403):禁止”

"errorMessage": "An error occurred (403) when calling the HeadObject operation: Forbidden"在尝试打电话时收到消息s3.download_file(请参阅下面的代码)。

我看过很多帖子,但似乎没有一个是从 AWS Lambda 调用的,而这正是我的问题所在。

我的代码在我的机器上本地运行,所以我猜测问题涉及 Lambda。这个Lambda函数最终会被S3事件触发,但在测试过程中,它不起作用。

我的 IAM 用户拥有对 S3 和 Lambda 的完全访问权限。

AWS Lambda函数代码:

import json
import boto3
import logging

log = logging.getLogger()
log.setLevel(logging.INFO)

s3 = boto3.client('s3')


def lambda_handler(event, context):
    document_name = event['Records'][0]['s3']['object']['key']
    bucket = event['Records'][0]['s3']['bucket']['name']

    log.info('Performing stuff on {}/{}'.format(bucket, document_name))

    # download the file
    s3.download_file(
        Bucket=bucket,
        Key=document_name,
        Filename=document_name
    )

    log.info('here it is!')

    return event

Run Code Online (Sandbox Code Playgroud)

(我什至尝试显式输入信息s3.download_file而不是从 中获取信息event,但无济于事。日志消息确认它是正确的路径。)

测试事件配置中传递的参数:

...
"s3": …
Run Code Online (Sandbox Code Playgroud)

amazon-s3 amazon-web-services amazon-iam boto3 aws-lambda

5
推荐指数
1
解决办法
7323
查看次数

无法在centOS上安装php-mbstring

我在centOs上有php 5.4,我已经删除了并安装了php 7.现在我在服务器上的一个代码返回以下错误:

PHP致命错误:调用未定义的函数mb_internal_encoding()

当我运行时,yum install php-mbstring我收到以下错误:

错误:php70u-与php-common-5.4.16-43.el7_4.x86_64冲突

错误:php70u-json与php-common-5.4.16-43.el7_4.x86_64冲突

我已经删除并安装了几次php7,但我没有工作.似乎centOs想要安装旧版本的软件包,但我不知道如何告诉它下载最新版本的mbstring

php linux centos

4
推荐指数
1
解决办法
4438
查看次数

如何使用SQL Query更改序列

我想_id_seq用这个sql查询更改带有后缀的表中的一些数据:

UPDATE user_custom_fields_id_seq SET last_value = 1000;
Run Code Online (Sandbox Code Playgroud)

但是我收到以下错误:

ERROR: cannot change sequence "user_custom_fields_id_seq"

无论如何只使用SQL来绕过这个错误?

sql postgresql

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

Yii2 ActiveRecord 保存空值而不是实际值

我从 Yii2 开始,想将一些内容保存到我的数据库中。这是我的模型:

class Course extends ActiveRecord
{
    public $name;

    public function rules()
    {
        return [
            [['name'], 'integer']
        ];
    }
}
Run Code Online (Sandbox Code Playgroud)

我这样称呼它:

$Course = new Course();
$Course->name = 44;
$Course->save();
Run Code Online (Sandbox Code Playgroud)

这是一个简单的代码,但它在我的数据库中插入空值。我的表只有一个名称列作为 int 。解决办法是什么?我已经读过这个问题,但他的问题和我不一样

activerecord yii2

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

在主机中运行 cron 不到一分钟

我想在不到一分钟的时间内(例如每 30 秒)在主机上运行一个命令,但我无权访问 ssh。我所拥有的就是这个. 我不知道如何在不到一分钟的时间内使用它来运行代码。

EDIT1:在这个问题中,我的访问权限有限,我无法在终端中运行所有代码(在其他问题中建议),因为我无权访问终端

cron

0
推荐指数
2
解决办法
2657
查看次数