def test_constructor(): with pytest.raises(WechatyPuppetConfigurationError): bot = Wechaty() options = WechatyOptions(token='fake-token', endpoint='127.0.0.1:8080') bot = Wechaty(options=options) assert bot.puppet.options.token == 'fake-token' assert bot.puppet.options.end_point == '127.0.0.1:8080'
async def main() -> None: """doc""" # pylint: disable=W0603 global bot options = WechatyOptions(host='127.0.0.1', port=5005, puppet_options=PuppetOptions(token='your-token')) bot = Wechaty(options=options).on('message', message) bot.use(SimpleServerWechatyPlugin()) await bot.start()
async def main(): """ Async Main Entry """ # # Make sure we have set WECHATY_PUPPET_SERVICE_TOKEN in the environment variables. # if 'WECHATY_PUPPET_SERVICE_TOKEN' not in os.environ: print(''' Error: WECHATY_PUPPET_SERVICE_TOKEN is not found in the environment variables You need a TOKEN to run the Java Wechaty. Please goto our README for details https://github.com/wechaty/python-wechaty-getting-started/#wechaty_puppet_service_token ''') global bot bot = Wechaty() global handler handler = MessageHandler(bot) bot.on('scan', on_scan) bot.on('login', on_login) bot.on('message', on_message) await bot.start() print('[Python Wechaty] Chatroom Assistant started.')
async def main(): """ Async Main Entry """ # # Make sure we have set WECHATY_PUPPET_SERVICE_TOKEN in the environment variables. # Learn more about services (and TOKEN) from https://wechaty.js.org/docs/puppet-services/ # # It is highly recommanded to use token like [paimon] and [wxwork]. # Those types of puppet_service are supported natively. # https://wechaty.js.org/docs/puppet-services/paimon # https://wechaty.js.org/docs/puppet-services/wxwork # # Replace your token here and umcommt that line, you can just run this python file successfully! # os.environ['token'] = 'puppet_paimon_your_token' # os.environ['token'] = 'puppet_wxwork_your_token' # if 'WECHATY_PUPPET_SERVICE_TOKEN' not in os.environ: print(''' Error: WECHATY_PUPPET_SERVICE_TOKEN is not found in the environment variables You need a TOKEN to run the Python Wechaty. Please goto our README for details https://github.com/wechaty/python-wechaty-getting-started/#wechaty_puppet_service_token ''') bot = Wechaty() bot.on('scan', on_scan) bot.on('login', on_login) bot.on('message', on_message) await bot.start() print('[Python Wechaty] Ding Dong Bot started.')
async def init_plugin(self, wechaty: Wechaty): """listen room-join events and say welcome""" async def on_room_join(room: Room, invitees: List[Contact], *args): if room.room_id in self.welcome_ids: for invited_contact in invitees: if invited_contact.contact_id in self.welcome_ids[ room.room_id]: await room.say( self.welcome_words, mention_ids=[invited_contact.contact_id]) self.welcome_ids[room.room_id].remove( invited_contact.contact_id) wechaty.on('room-join', on_room_join)
async def main(): """doc""" print('hello') await asyncio.sleep(1) print('world') bot = Wechaty() print(await bot.name())
async def mocker_example(): """basic mocker example""" # init the mocker environment = EnvironmentMock() mocker = Mocker() mocker.use(environment) # init the puppet_mock puppet_options = PuppetMockOptions(mocker=mocker) puppet = PuppetMock(puppet_options) # init the wechaty wechaty_options = WechatyOptions( puppet=cast(Puppet, puppet), puppet_options=puppet_options ) bot = Wechaty(wechaty_options) mocker.init(puppet, mocker) await bot.start() # send the message to a room room = mocker.new_room() members = await room.member_list() one_of_member = random.choice(members) mocker.send_message( talker=one_of_member, conversation=room, msg='ding' )
async def main(): bot = Wechaty() bot.on( 'scan', lambda status, qrcode, data: print('Scan QR Code to login: {}\nhttps://wechaty.js.org/qrcode/{}'. format(status, qrcode))) bot.on('login', lambda user: print('User {} logged in'.format(user))) bot.on('message', lambda message: print('Message: {}'.format(message))) await bot.start()
async def main(): """doc""" # pylint: disable=W0603 global bot bot = Wechaty().use( [DingDongPlugin(), WeatherPlugin(), DingDongRankPlugin()]) # await bot.stop() await bot.start()
async def main() -> None: """The main function for the contact-bot module""" # pylint: disable=W0603 global bot print(WELCOME_MSG) bot = Wechaty()\ .on('login', handle_login)\ .on('error', lambda error: log.info('error: %s', error))\ .on('scan', lambda qrcode, status: print(f'{qr_terminal_str(qrcode)}\n' f'[{status}] Scan QR Code in above url to login:')) await bot.start()
async def bot(mocker) -> Wechaty: puppet_options = PuppetMockOptions(mocker=mocker) puppet = PuppetMock(puppet_options) # init the wechaty wechaty_options = WechatyOptions( puppet=cast(Puppet, puppet), puppet_options=puppet_options ) bot = Wechaty(wechaty_options) mocker.init(puppet, mocker) await bot.start() return bot
async def main(): # 确保我们在环境变量中设置了WECHATY_PUPPET_SERVICE_TOKEN if 'WECHATY_PUPPET_SERVICE_TOKEN' not in os.environ: print(''' Error: WECHATY_PUPPET_SERVICE_TOKEN is not found in the environment variables You need a TOKEN to run the Python Wechaty. Please goto our README for details https://github.com/wechaty/python-wechaty-getting-started/#wechaty_puppet_service_token ''') bot = Wechaty() bot.on('scan', on_scan) bot.on('login', on_login) bot.on('message', on_message) await bot.start() print('[Python Wechaty] Ding Dong Bot started.')
async def run(): """async run method""" morning_plugin = DailyPlugin( DailyPluginOptions(name='girl-friend-bot-morning', contact_id='some-one-id', trigger='cron', kwargs={ 'hour': 8, 'minute': 0 }, msg='宝贝,早安,爱你哟~')) morning_plugin.add_interval_job(say_hello) ding_dong_plugin = DingDongPlugin() bot = Wechaty().use(morning_plugin).use(ding_dong_plugin) await bot.start()
async def run(): """async run method""" img_url = 'https://ss0.bdstatic.com/70cFuHSh_Q1YnxGkpoWK1HF6hhy' \ '/it/u=1257042014,3164688936&fm=26&gp=0.jpg' plugin = AutoReplyPlugin(options=AutoReplyOptions(rules=[ AutoReplyRule(keyword='ding', reply_content='dong'), AutoReplyRule(keyword='七龙珠', reply_content='七龙珠'), AutoReplyRule(keyword='七龙珠', reply_content=FileBox.from_url(img_url, name='python.png')), AutoReplyRule(keyword='wechaty-icon', reply_content=FileBox.from_url(img_url, name='python.png')) ], matchers=[ ContactMatcher('秋客'), ])) bot = Wechaty().use(plugin) await bot.start()
async def main(): """ Async Main Entry """ # # Make sure we have set WECHATY_PUPPET_HOSTIE_TOKEN in the environment variables. # if 'WECHATY_PUPPET_HOSTIE_TOKEN' not in os.environ: print(''' Error: WECHATY_PUPPET_HOSTIE_TOKEN is not found in the environment variables You need a TOKEN to run the Java Wechaty. Please goto our README for details https://github.com/wechaty/python-wechaty-getting-started/#wechaty_puppet_hostie_token ''') bot = Wechaty() bot.on('scan', on_scan) bot.on('login', on_login) bot.on('message', on_message) await bot.start() print('[Python Wechaty] Ding Dong Bot started.')
async def init_wechat_bot(self): puppet_options = PuppetOptions() puppet_options.token = WECHATY_PUPPET_SERVICE_TOKEN options = WechatyOptions() # options.name = self.my_wechat_id options.puppet = WECHATY_PUPPET options.puppet_options = puppet_options self.bot = Wechaty(options) await self.bot.init_puppet() await self.bot.init_puppet_event_bridge(self.bot.puppet) self.bot.puppet._init_puppet() # print(self.bot.puppet.login_user_id) async for response in self.bot.puppet.puppet_stub.event(): if response is not None: payload_data: dict = json.loads(response.payload) if response.type == int(EventType.EVENT_TYPE_SCAN): logger.debug('receive scan info <%s>', payload_data) # create qr_code payload = EventScanPayload( status=ScanStatus(payload_data['status']), qrcode=payload_data.get('qrcode', None), data=payload_data.get('data', None)) print('scan payload_data', payload_data) self.bot.puppet._event_stream.emit('scan', payload) elif response.type == int(EventType.EVENT_TYPE_LOGIN): logger.debug('receive login info <%s>', payload_data) print('login payload_data', payload_data) event_login_payload = EventLoginPayload( contact_id=payload_data['contactId']) self.bot.puppet.login_user_id = payload_data.get( 'contactId', None) self.bot.puppet._event_stream.emit('login', event_login_payload) break
async def run(): """async run method""" morning_plugin = DailyPlugin( DailyPluginOptions(name='girl-friend-bot-morning', contact_id='some-one-id', trigger='cron', kwargs={ 'hour': 8, 'minute': 0 }, msg='宝贝,早安,爱你哟~')) eating_plugin = DailyPlugin( DailyPluginOptions(name='girl-friend-bot-eating', contact_id='some-one-id', trigger='cron', kwargs={ 'hour': 11, 'minute': 30 }, msg='中午要记得好好吃饭喔~')) bot = Wechaty().use(morning_plugin).use(eating_plugin) await bot.start()
async def main() -> None: """doc""" # pylint: disable=W0603 global bot bot = Wechaty().on('message', message) await bot.start()
async def main(): bot = Wechaty() bot.on('message', on_message) await bot.start()
async def wechat(): global bot bot = Wechaty() bot.on('scan', on_scan) bot.on('login', on_login) bot.on('message', on_message) bot.on('room-join', on_room_join) bot.on('room-leave', on_room_leave) bot.on('logout', on_logout) bot.on('error', on_error) await bot.start()