1 В избранное 0 Ответвления 0

OSCHINA-MIRROR/sjdy521-Mojo-Weixin

Клонировать/Скачать
FAQ.md 7 КБ
Копировать Редактировать Web IDE Исходные данные Просмотреть построчно История
gitlife-traslator Отправлено 01.12.2024 02:25 7ad527a

1. Печать в терминал: проблема с кодировкой

Программа по умолчанию автоматически определяет кодировку терминала. Если вы столкнулись с проблемой кодировки, возможно, автоматическое определение не удалось. В этом случае можно попробовать вручную настроить кодировку вывода.

$client = Mojo::Weixin->new(log_encoding=>"utf8");

2. Как запустить несколько аккаунтов WeChat

Для лёгкого управления несколькими аккаунтами можно использовать Controller-API.

Если вы хотите просто запустить один или два аккаунта и не хотите или не можете использовать API, можно воспользоваться следующим методом:

Основная проблема при работе с несколькими аккаунтами заключается в необходимости сохранять данные каждого аккаунта в отдельном каталоге, чтобы избежать взаимного влияния.

При инициализации клиента предоставляется параметр account, который используется для настройки отдельного идентификатора для каждого входа в клиентское приложение WeChat. Этот параметр не является реальным аккаунтом WeChat и может быть свободно определён.

Код для каждого аккаунта сохраняется в отдельном файле pl, и устанавливается параметр account.

acb.pl файл
use Mojo::Weixin;
my $client = Mojo::Weixin->new(account=>"abc"); 
$client->load("ShowMsg");
$client->run();
def.pl файл
use Mojo::Weixin;
my $client = Mojo::Weixin->new(account=>"def"); 
$client->load("ShowMsg");
$client->run();

Можно отдельно запускать файлы abc.pl и def.pl.

Или, если вы не хотите создавать много файлов pl, можно использовать только один код и передавать параметр account через переменную окружения MOJO_WEIXIN_ACCOUNT во время выполнения.

use Mojo::Weixin;
my $client = Mojo::Weixin->new(); #здесь не устанавливается параметр account, а берётся из переменной окружения
$client->load("ShowMsg");
$client->run();

3. Как использовать последнюю версию кода с GitHub для тестирования

Версии кода на GitHub обновляются часто, и стабильные версии регулярно упаковываются и публикуются на cpan (официальном репозитории Perl).

Через cpanm Mojo::Weixin можно загрузить или обновить последнюю стабильную версию онлайн. Если вам не терпится попробовать последний код на GitHub,

можно вручную загрузить последний исходный код с GitHub и добавить его в начало вашего файла xxxx.pl.

Используйте use lib 'путь к распакованному каталогу github/lib/' для указания на модуль Mojo::Weixin в этом каталоге вместо модуля, установленного через cpanm в других системных каталогах. Вот пример операции:

a. Загрузите последний zip-файл исходного кода https://github.com/sjdy521/Mojo-Weixin/archive/master.zip.

b. Распакуйте master.zip в указанный каталог, например, в корневую папку диска C: в Windows.

c. Добавьте use lib 'c:/Mojo-Weixin-master/lib'; в начале вашей программы на Perl.

d. Запустите программу как обычно.

#!/usr/bin/env perl
use lib 'c:/Mojo-Weixin-master/lib'; #указать путь загрузки модуля
use Mojo::Weixin;
my ($host,$port,$post_api);

$host = "0.0.0.0"; #адрес прослушивания интерфейса отправки сообщений, не изменять без необходимости
$port = 3000;      #порт прослушивания интерфейса отправки сообщений, изменить на желаемый порт
#$post_api = 'http://xxxx';  #интерфейс получения сообщений для отчёта, удалить или закомментировать, если не требуется

my $client = Mojo::Weixin->new(log_level=>"info",http_debug=>0);
$client->load("ShowMsg");
$client->load("Openwx",data=>{listen=>[{host=>$host,port=>$port}], post_api=>$post_api});
$client->run();

4. Ошибка «Can't locate Mojo/Weixin.pm in @INC»

Это означает, что модуль Mojo::Weixin не был успешно установлен. Обычно это происходит, когда процесс установки через cpanm Mojo::Weixin завершается неудачно из-за проблем с установкой других зависимых модулей.

Необходимо проверить, какие модули отсутствуют, и установить их. На Linux можно выполнить следующую команду для проверки установки модулей:

curl -ks "https://raw.githubusercontent.com/sjdy521/Mojo-Weixin/master/script/check_dependencies.pl" |perl -

5. Проблемы с использованием после установки некорневым пользователем

Решение:

Метод 1: Переключитесь на пользователя root и установите снова.

Метод 2: Выполните следующие действия под учётной записью некорневого пользователя (без использования sudo перед каждой командой):

  1. Установите модуль local::lib, выполнив команду:

     cpanm --local-lib=~/perl5 local::lib  && eval $(perl -I ~/perl5/lib/perl5/ -Mlocal::lib)
  2. Добавьте соответствующие переменные среды в файл запуска, выполнив команду:

     echo 'eval "$(perl -I$HOME/perl5/lib/perl5 -Mlocal::lib)"' >>~/.bashrc

Опубликовать ( 0 )

Вы можете оставить комментарий после Вход в систему

1
https://api.gitlife.ru/oschina-mirror/sjdy521-Mojo-Weixin.git
git@api.gitlife.ru:oschina-mirror/sjdy521-Mojo-Weixin.git
oschina-mirror
sjdy521-Mojo-Weixin
sjdy521-Mojo-Weixin
master