我用 php 编写了一个电报机器人。我想给所有会员发短信,我保存了所有会员的chat_id。我尝试使用此功能发送消息:
function sendMessage($chatId, $message) {
$url = WEBSITE . "/sendMessage?chat_id=" . $chatId . "&text=" . urlencode($message);
file_get_contents($url);
}
Run Code Online (Sandbox Code Playgroud)
并使用此函数获取用户 chatid 并发送消息:
public function sendall($message) {
$sql = $this->con->prepare('SELECT * FROM `users`');
$sql->execute();
$res = $sql->fetchAll();
foreach ($res as $row) {
sendMessage($row['chatid'], $message);
}
exit();
}
Run Code Online (Sandbox Code Playgroud)
但这无法正常工作,该消息会多次发送给会员,并且直到我清除数据库后才会停止。
我通过这种方式使Request从控制器操作验证请求的值:
namespace App\Http\Requests;
use App\Http\Requests\Request;
class AccountsRequest extends Request {
/**
* Determine if the user is authorized to make this request.
*
* @return bool
*/
public function authorize() {
return TRUE;
}
public function rules() {
return [
'email' => 'email|required|max:255|unique:accounts',
'password' => 'min:6|required'
];
}
}
Run Code Online (Sandbox Code Playgroud)
如果我使用默认数据库,一切都很好,但对于此验证,我需要检查其他数据库中的表.在配置中我有两个数据库:
'connections' => [
'sqlite' => [
'driver' => 'sqlite',
'database' => database_path('database.sqlite'),
'prefix' => '',
],
'mysql' => [
'driver' => 'mysql',
'host' => env('DB_HOST', 'localhost'),
'database' => env('DB_DATABASE', 'sait'), …Run Code Online (Sandbox Code Playgroud)