Para a saudação, geralmente o serviço de registro de canal fornece isso. O ChanServ da Foonetic tem uma opção chamada "ENTRYMSG":
<grawity> ajuda a definir entrymsg
-ChanServ- ***** ChanServ Help *****
-ChanServ- Ajuda para SET ENTRYMSG:
-ChanServ-
-ChanServ- SET ENTRYMSG permite alterar ou definir
-ChanServ- uma mensagem enviada a todos os usuários que ingressam no
-ChanServ- channel.
-ChanServ-
-ChanServ- Sintaxe: SET <#channel> ENTRYMSG [mensagem]
-ChanServ-
-ChanServ- Exemplo:
-ChanServ- / msg ChanServ SET #support ENTRYMSG Bem-vindo ao #support. Por favor, não cole mais de 5 linhas.
-ChanServ- ***** Fim da Ajuda *****
A lista de pendências é mais difícil. A maioria dos servidores de IRC não possui nenhum tipo de registro de mensagens - tanto por questões de privacidade quanto de desempenho - para que o usuário nunca saiba quais mensagens foram enviadas antes de ingressar no canal. Alguns usuários usam seguranças IRC (como ZNC ou psyBNC) que permanecem no canal 24 horas por dia, 7 dias por semana e enviam as últimas mensagens quando o usuário se conecta ao segurança. Clientes baseados na Web, como o Mibbit, fazem isso com um log compartilhado - desde que pelo menos um usuário do Mibbit esteja no canal, todos os outros usuários podem receber o backlog.
Além disso, até recentemente, o IRC não tinha como transmitir os registros de data e hora originais, portanto, se o histórico fosse reproduzido, todas as mensagens antigas apareceriam como enviadas de uma só vez, com um feio "[12:34]" adicionado para o texto da mensagem. Atualmente, existe uma extensão opcional para isso, mas apenas o segurança ZNC e talvez 2 a 3 clientes ainda o suportam. Mas ainda funciona apenas quando a reprodução é feita pelo próprio servidor (ou segurança), não quando feita por um bot.
Portanto, você pode obter isso apenas a) escrevendo um bot que forneceria backlog a pedido ou b) solicitando que os usuários usassem um segurança IRC que ofereça esse recurso.