コード例 #1
0
ファイル: IrcConnection.cs プロジェクト: Rafa652/IRCQueueBot
 public IrcConnection(ConnectionSettings settings, Action<Event> enqueueMethod)
 {
     BotEnqueue = enqueueMethod;
     _settings = settings;
     _entities = new EntityManager(_settings.InitialNick);
     _parser = new IrcParser(this);
 }
コード例 #2
0
ファイル: UserData.cs プロジェクト: Rafa652/IRCQueueBot
 public UserData(EntityManager em, string nick, bool isBot)
 {
     _em = em;
     this.nick = nick;
     this.isclient = isBot;
     channels = new Dictionary<ChannelData, UserMode>();
 }
コード例 #3
0
ファイル: ChannelData.cs プロジェクト: Rafa652/IRCQueueBot
        public ChannelData(EntityManager em, string name)
        {
            _em = em;
            this.name = name;

            users = new HashSet<UserData>();
            modes = new HashSet<char>();
        }
コード例 #4
0
ファイル: IrcConnection.cs プロジェクト: Rafa652/IRCQueueBot
        private void Reset(bool abortInputThread)
        {
            if (abortInputThread && _readThread.IsAlive) {
                _readThread.Join(3000);
                _readThread.Abort();
            }
            _ircIncoming?.Dispose();
            _ircOutgoing?.Dispose();
            _irc?.Close();

            _readThread = null;
            _ircIncoming = null;
            _ircOutgoing = null;
            _irc = null;

            _available = false;

            _entities = new EntityManager(_settings.InitialNick);
        }
コード例 #5
0
ファイル: IrcParser.cs プロジェクト: Rafa652/IRCQueueBot
 internal IrcParser(IrcConnection c)
 {
     Entities = c.Entities;
     WriteOut = c.WriteOut;
 }