irc_dart 1.2.1 copy "irc_dart: ^1.2.1" to clipboard
irc_dart: ^1.2.1 copied to clipboard

IRC client library for Dart.

example/irc_dart_example.dart

// ignore_for_file: avoid_print

import 'dart:math';

import 'package:irc_dart/irc_dart.dart';

void main() async {
  final client = IrcClient(
    // host: 'irc.rizon.net',
    host: 'irc.libera.chat',
    secure: true,
    nick: 'n${Random().nextInt(100000000).toString().padLeft(8, '0')}',
    user: 'dart@example.com',
  );

  final connection = await client.connect();
  print('get conn');
  await for (final msg in connection) {
    print(msg);

    if (msg.command == 'PRIVMSG' && msg.parameters.isNotEmpty) {
      if (msg.parameters[0].startsWith('hi')) {
        connection.add(
          IrcMessage(
            command: 'NOTICE',
            target: (msg.target?.startsWith('#') ?? false)
                ? msg.target
                : msg.from(),
          )..arg('Hi ${msg.from()}!'),
        );

        await connection.msg(to: '#irc_dart', 'Hello, world!');
      } else if (msg.parameters[0].startsWith('q')) {
        connection.add(IrcMessage(command: 'QUIT')..arg('Bye'));
      }
    } else if (msg.command == '001') {
      connection.add(IrcMessage(command: 'JOIN')..arg('#irc_dart'));
    }
  }
  print('@ END @');
}
1
likes
150
points
29
downloads

Publisher

verified publisherkkazuo.com

Weekly Downloads

IRC client library for Dart.

Repository (GitHub)

Documentation

API reference

License

ISC (license)

Dependencies

characters

More

Packages that depend on irc_dart