Close Menu
    Facebook X (Twitter) Instagram
    • Home
    • Contact Us
    • About Us
    • Privacy Policy
    • Terms Of Service
    • Advertisement
    Sunday, July 5
    Facebook X (Twitter) Instagram Pinterest Vimeo
    ABS Africa TV
    • Breaking News
    • Trending
    • Africa News
    • World News
    • Features
    • Technology
    • Sports
    • Politics
    • More
      • Culture
      • Lifestyle
      • Travel
      • Business
      • Environment
      • Legal
      • Health
      • Cameroon
      • Ambazonia
      • AfroSingles
      • Environ/Climate
      • Editorial
      • The Leak Magazine
    • Donate
    Subscription
    ABS Africa TV
    Home»Sports»AFCON 2023: Nigeria, Angola, DRC, and Guinea battle for semifinal spots in Abidjan
    Sports

    AFCON 2023: Nigeria, Angola, DRC, and Guinea battle for semifinal spots in Abidjan

    Johnson BenguruBy Johnson BenguruJuly 5, 2026No Comments9 Mins Read
    Facebook Twitter Pinterest LinkedIn Tumblr Email
    Share
    Facebook Twitter LinkedIn Pinterest Email
    Post Views: 4

    AFCON 2023: Nigeria, Angola, DRC, and Guinea battle for semifinal spots in Abidjan

    AFCON 2023: Nigeria, Angola, DRC, and Guinea battle for semifinal spots in Abidjan

    The Super Eagles celebrate a goal © CAF Online

    Read this story aloud

    Listen to the clean text version of this article

    Ready
    3 min listen
    Audio reading is not supported on this browser.

    Nigeria takes on Angola in the first quarterfinal with DRC battling against Guinea in the final match of the day

    As the African Cup of Nations (AFCON) 2023 heats up, the quarterfinals set to take place in Abidjan on Friday evening promise riveting clashes and intense battles for semifinal berths.
    Football enthusiasts will witness high-stakes encounters as Nigeria faces off against Angola, while the Democratic Republic of Congo (DRC) locks horns with Guinea.
    Nigeria vs Angola – 8PM EAT
    In the first fixture, Nigerian coach Jose Peseiro exudes confidence despite injury concerns, emphasizing the importance of sticking to their organizational plan against a formidable Angola side. Peseiro remains cautious of Angola’s attacking prowess but believes in his team’s abilities to secure victory, stating, “Both teams want to reach the semifinal and it will therefore be a very hard match.”
    Angola’s coach Pedro Goncalves, on the other hand, sees this match as an opportunity for his team to make history, emphasizing their readiness to face the Nigerian giants. With a tactical approach aimed at exploiting Nigeria’s weaknesses, Angola aims to upset the favorites and advance to the semifinals, as Goncalves stated, “We respect Nigeria for all they have achieved in African football, they really are a powerful team with players in good leagues in Europe.”
    DRC vs Guinea – 11PM EAT

    Latest Stories

    • Taita Taveta County unveils cooperative fund to boost rural access to credit
    • Lilian Odira targets personal best and Diamond League final after dream victory in Eugene
    • Karua, Matiang’i demand arrest and resignation of PS Fikirini over Cecil Ouma shooting
    • A Super El Niño is coming: Five hard‑won lessons the world can learn from Africa

    In the second fixture, DRC tactician Sebastien Desabre acknowledges the surprises of the tournament so far while expressing his team’s ambition to progress further. Despite their struggles in front of goal, DRC aims to be more offensive against Guinea, relying on their ability to create chances and capitalize on them, as Desabre mentioned, “Against Egypt we created chances to score but we didn’t unfortunately.”
    Guinea’s coach Kaba Diawara emphasizes the importance of seizing crucial moments in the game, highlighting his team’s readiness to compete at this level. With a blend of respect for their opponents and confidence in their abilities, Guinea enters the quarterfinal clash with determination and a hunger for victory, as Diawara asserted, “We are happy to be at this stage and what we now need to do is fight harder and make use of our moments against DRC.”

    Other Topics To Read

    • AFCON 2024
    • AFCON 2023

    Top Stories Today

    • Karua, Matiang’i demand arrest of PS Fikirini over Cecil Ouma shooting
    • Taita Taveta to launch cooperative fund to boost rural credit access
    • World Champion Lilian Odira beats Keely Hodgkinson in Eugene thriller
    • Coast leaders rally support for 10-point agenda, reject divisive politics
    • A Super El Niño is coming: Five lessons Africa can teach the world
    • Faith Kipyegon reveals hamstring injury after rare defeat in Eugene

    `;
    }

    return “;
    }

    function commentActionsMarkup(comment, canComment) {
    const likeLabel = comment.liked_by_me ? ‘Liked’ : ‘Like’;
    const likeCount = Number(comment.like_count || 0) > 0
    ? “
    : ”;

    const likeButton = canComment && comment.status === ‘approved’
    ? “
    : “;

    const replyButton = canComment && comment.status === ‘approved’
    ? “
    : ”;

    return `

    `;
    }

    function commentMarkup(comment, canComment, isReply = false) {
    const pendingBadge = comment.status && comment.status !== ‘approved’
    ? “
    : ”;

    const edited = comment.is_edited
    ? “
    : ”;

    const repliesHtml = Array.isArray(comment.replies) && comment.replies.length
    ? `

    `
    : “;

    return `

    `;
    }

    function replyFormMarkup(commentId) {
    return `

    `;
    }

    function setNotice(widget, message, type = ‘info’) {
    const notice = widget.querySelector(‘[data-role=”notice”]’);
    if (!notice) return;

    if (!message) {
    notice.hidden = true;
    notice.textContent = ”;
    notice.classList.remove(‘is-error’);
    return;
    }

    notice.hidden = false;
    notice.textContent = message;
    notice.classList.toggle(‘is-error’, type === ‘error’);
    }

    function setCount(widget, total) {
    const count = widget.querySelector(‘[data-role=”count”]’);
    if (!count) return;

    const num = Number(total || 0);
    count.textContent = num === 1 ? ‘1 comment’ : `${num} comments`;
    }

    function openReplyBox(widget, commentId) {
    widget.querySelectorAll(‘[data-role=”reply-box”]’).forEach(box => {
    box.hidden = true;
    box.innerHTML = ”;
    });

    const targetItem = widget.querySelector(`.ev-comments__item[data-comment-id=”${commentId}”]`);
    if (!targetItem) return;

    const replyBox = targetItem.querySelector(‘[data-role=”reply-box”]’);
    if (!replyBox) return;

    replyBox.hidden = false;
    replyBox.innerHTML = replyFormMarkup(commentId);

    const textarea = replyBox.querySelector(‘textarea’);
    if (textarea) textarea.focus();
    }

    function closeReplyBox(container) {
    if (!container) return;
    container.hidden = true;
    container.innerHTML = ”;
    }

    async function initCommentsWidget(widget) {
    const state = {
    articleId: Number(widget.dataset.articleId),
    loadUrl: widget.dataset.loadUrl,
    storeUrl: widget.dataset.storeUrl,
    commentsBaseUrl: widget.dataset.commentsBaseUrl,
    canComment: widget.dataset.canComment === ‘1’,
    page: 1,
    perPage: 10,
    sort: ‘newest’,
    total: 0,
    hasMore: false,
    busy: false
    };

    const list = widget.querySelector(‘[data-role=”list”]’);
    const loading = widget.querySelector(‘[data-role=”loading”]’);
    const empty = widget.querySelector(‘[data-role=”empty”]’);
    const loadMoreBtn = widget.querySelector(‘[data-role=”load-more”]’);
    const sortSelect = widget.querySelector(‘[data-role=”sort”]’);
    const composerForm = widget.querySelector(‘[data-role=”composer-form”]’);

    async function loadComments(reset = true) {
    if (state.busy) return;

    state.busy = true;
    setNotice(widget, ”);
    loading.hidden = false;

    if (reset) {
    state.page = 1;
    list.innerHTML = ”;
    empty.hidden = true;
    }

    try {
    const url = new URL(state.loadUrl, window.location.origin);
    url.searchParams.set(‘page’, state.page);
    url.searchParams.set(‘per_page’, state.perPage);
    url.searchParams.set(‘sort’, state.sort);

    const response = await requestJson(url.toString(), {
    method: ‘GET’,
    headers: {
    ‘Accept’: ‘application/json’,
    ‘X-Requested-With’: ‘XMLHttpRequest’
    }
    });

    const items = Array.isArray(response.data) ? response.data : [];
    const meta = response.meta || {};

    state.total = Number(meta.total || 0);
    state.hasMore = !!meta.has_more;

    setCount(widget, state.total);

    if (reset) {
    list.innerHTML = ”;
    }

    if (!items.length && reset) {
    empty.hidden = false;
    } else {
    empty.hidden = true;
    list.insertAdjacentHTML(
    ‘beforeend’,
    items.map(item => commentMarkup(item, state.canComment, false)).join(”)
    );
    }

    loadMoreBtn.hidden = !state.hasMore;
    } catch (error) {
    if (!list.children.length) {
    empty.hidden = false;
    empty.textContent = ‘Unable to load comments right now.’;
    }
    setNotice(widget, error.message || ‘Unable to load comments.’, ‘error’);
    } finally {
    loading.hidden = true;
    state.busy = false;
    }
    }

    async function submitTopLevelComment(form) {
    const textarea = form.querySelector(‘textarea[name=”content”]’);
    const button = form.querySelector(‘[data-role=”submit-comment”]’);

    if (!textarea) return;

    const content = textarea.value.trim();
    if (!content) return;

    const originalText = button ? button.textContent : ”;

    try {
    if (button) {
    button.disabled = true;
    button.textContent = ‘Posting…’;
    }

    const response = await requestJson(state.storeUrl, {
    method: ‘POST’,
    headers: buildJsonHeaders(),
    body: JSON.stringify({
    article_id: state.articleId,
    content: content,
    source_url: window.location.href
    })
    });

    textarea.value = ”;

    if (response?.data) {
    list.insertAdjacentHTML(
    ‘afterbegin’,
    commentMarkup(response.data, state.canComment, false)
    );
    empty.hidden = true;

    if ((response.data.status || ”) === ‘approved’) {
    state.total += 1;
    setCount(widget, state.total);
    }
    }

    setNotice(widget, response.message || ‘Comment posted successfully.’);
    } catch (error) {
    setNotice(widget, error.message || ‘Unable to post comment.’, ‘error’);
    } finally {
    if (button) {
    button.disabled = false;
    button.textContent = originalText || ‘Post comment’;
    }
    }
    }

    async function submitReply(form) {
    const commentId = Number(form.dataset.commentId || 0);
    const textarea = form.querySelector(‘textarea[name=”content”]’);
    const button = form.querySelector(‘.ev-comments__reply-submit’);

    if (!commentId || !textarea) return;

    const content = textarea.value.trim();
    if (!content) return;

    const originalText = button ? button.textContent : ”;

    try {
    if (button) {
    button.disabled = true;
    button.textContent = ‘Posting…’;
    }

    const response = await requestJson(`${state.commentsBaseUrl}/${commentId}/reply`, {
    method: ‘POST’,
    headers: buildJsonHeaders(),
    body: JSON.stringify({
    article_id: state.articleId,
    content: content,
    source_url: window.location.href
    })
    });

    if (response?.data) {
    const parentItem = widget.querySelector(`.ev-comments__item[data-comment-id=”${commentId}”]`);
    if (parentItem) {
    const repliesWrap = parentItem.querySelector(‘.ev-comments__replies’);
    if (repliesWrap) {
    repliesWrap.insertAdjacentHTML(
    ‘beforeend’,
    commentMarkup(response.data, state.canComment, true)
    );
    }
    }
    }

    closeReplyBox(form.closest(‘[data-role=”reply-box”]’));
    setNotice(widget, response.message || ‘Reply posted successfully.’);
    } catch (error) {
    setNotice(widget, error.message || ‘Unable to post reply.’, ‘error’);
    } finally {
    if (button) {
    button.disabled = false;
    button.textContent = originalText || ‘Post reply’;
    }
    }
    }

    async function toggleLike(button) {
    const commentId = Number(button.dataset.commentId || 0);
    if (!commentId) return;

    const originalHtml = button.innerHTML;

    try {
    button.disabled = true;
    button.innerHTML = ‘Working…’;

    const response = await requestJson(`${state.commentsBaseUrl}/${commentId}/like`, {
    method: ‘POST’,
    headers: buildJsonHeaders(),
    body: JSON.stringify({})
    });

    const liked = !!response?.data?.liked;
    const likeCount = Number(response?.data?.like_count || 0);

    button.classList.toggle(‘is-liked’, liked);
    button.innerHTML = `${liked ? ‘Liked’ : ‘Like’} ${likeCount > 0 ? “ : ”}`;
    } catch (error) {
    button.innerHTML = originalHtml;
    setNotice(widget, error.message || ‘Unable to update like.’, ‘error’);
    } finally {
    button.disabled = false;
    }
    }

    if (composerForm) {
    composerForm.addEventListener(‘submit’, function (e) {
    e.preventDefault();
    submitTopLevelComment(composerForm);
    });
    }

    if (sortSelect) {
    sortSelect.addEventListener(‘change’, function () {
    state.sort = this.value || ‘newest’;
    loadComments(true);
    });
    }

    if (loadMoreBtn) {
    loadMoreBtn.addEventListener(‘click’, function () {
    if (state.busy || !state.hasMore) return;
    state.page += 1;
    loadComments(false);
    });
    }

    widget.addEventListener(‘click’, function (e) {
    const likeBtn = e.target.closest(‘[data-action=”toggle-like”]’);
    if (likeBtn) {
    e.preventDefault();
    toggleLike(likeBtn);
    return;
    }

    const replyBtn = e.target.closest(‘[data-action=”toggle-reply”]’);
    if (replyBtn) {
    e.preventDefault();
    openReplyBox(widget, Number(replyBtn.dataset.commentId || 0));
    return;
    }

    const cancelReplyBtn = e.target.closest(‘[data-action=”cancel-reply”]’);
    if (cancelReplyBtn) {
    e.preventDefault();
    closeReplyBox(cancelReplyBtn.closest(‘[data-role=”reply-box”]’));
    }
    });

    widget.addEventListener(‘submit’, function (e) {
    const replyForm = e.target.closest(‘.ev-comments__reply-form’);
    if (replyForm) {
    e.preventDefault();
    submitReply(replyForm);
    }
    });

    loadComments(true);
    }

    document.addEventListener(‘DOMContentLoaded’, function () {
    document.querySelectorAll(‘.ev-comments’).forEach(initCommentsWidget);
    });
    })();

    Trending

    Eight arrested in Marsabit over Sh1.2 million SIM swap fraud
    Eight arrested in Marsabit over Sh1.2 million SIM swap fraudNorthern Kenya
    |Bashir Mbuthia
    |1 day ago
    Faith Kipyegon reveals hamstring injury after rare defeat as focus shifts to second half of season
    Faith Kipyegon reveals hamstring injury after rare defeat as focus shifts to second half of seasonAthletics
    |Erick Kariuki
    |3 hours ago
    Six killed as matatu, trailer collide head-on along Nakuru-Eldoret highway
    Six killed as matatu, trailer collide head-on along Nakuru-Eldoret highwayNews
    |Rachael Mutabasi
    |1 day ago
    Somali Embassy hosts Kenya leaders, diplomats for 66th Independence Day celebrations
    Somali Embassy hosts Kenya leaders, diplomats for 66th Independence Day celebrationsSomalia
    |Abdirahman Khalif
    |7 hours ago
    Court declares Ruaraka School land public, rules Sh1.5 billion payout illegal
    Court declares Ruaraka School land public, rules Sh1.5 billion payout illegalNews
    |Carolyne Kubwa
    |1 day ago
    Pakistan to host next round of US-Iran talks on July 11
    Pakistan to host next round of US-Iran talks on July 11Middle-East
    |XINHUA
    |7 hours ago
    Mbappé fires France past Paraguay into World Cup quarter-finals
    Mbappé fires France past Paraguay into World Cup quarter-finalsSports
    |Erick Kariuki
    |12 hours ago
    Invisible peacebuilders: How ‘diplomacy works’ to prevent conflict
    Invisible peacebuilders: How ‘diplomacy works’ to prevent conflictWorld
    |UN News
    |11 hours ago
    Machakos Mitumba Market traders suffer heavy losses after midnight fire
    Machakos Mitumba Market traders suffer heavy losses after midnight fireNews
    |Lucy Mumbi
    |9 hours ago
    Lilian Odira targets personal best and Diamond League final after dream victory in Eugene
    Lilian Odira targets personal best and Diamond League final after dream victory in EugeneAthletics
    |Erick Kariuki
    |1 hour ago

    2023 AFCON Angola Guinea Nigeria
    Share. Facebook Twitter Pinterest LinkedIn Tumblr Email
    Johnson Benguru
    • Website

    Related Posts

    Soccer-Morocco buck African trend as late coaching change pays off again

    July 5, 2026

    Morocco and Egypt last African teams standing in 2026 World Cup

    July 5, 2026

    AFCON 2027: Talanta Stadium Hits Major Milestone With VVIP Seat Installation and Pitch Progress

    July 5, 2026
    Leave A Reply Cancel Reply

    Search
    Latest Post

    The Weirdest (and Most Delicious) Wild Game I’ve Ever Eaten

    July 5, 2026

    Refugees decry lack of adequate climate funding in most vulnerable regions

    July 5, 2026

    BRICS News Digest for the previous week

    July 5, 2026

    Eastern Africa Steps Up Disease Preparedness in Mombasa

    July 5, 2026

    SA’s Digital Learner Licence System Cuts Fraud as Pass Rate Drops from 68% to 40% | Law

    July 5, 2026

    Subscribe to Updates

    Get the latest creative news from FooBar about art, design and business.

    • Facebook
    • Twitter
    • Pinterest
    • Instagram
    • YouTube
    • TikTok
    ABS TV and ABS Network News is a leading Pan-African 24/7 broadcasting network delivering nonstop news, talk shows, lifestyle programs, and digital media content worldwide through Satellite, Streaming Platforms, and Roku TV.
     
    Based in the United States, we connect Africa to the world while empowering creators, journalists, and brands through innovative media and broadcasting services.
    Facebook X (Twitter) Pinterest WhatsApp Instagram

    Our Picks

    The Weirdest (and Most Delicious) Wild Game I’ve Ever Eaten

    Refugees decry lack of adequate climate funding in most vulnerable regions

    BRICS News Digest for the previous week

    Most Popular

    Eastern Africa Steps Up Disease Preparedness in Mombasa

    SA’s Digital Learner Licence System Cuts Fraud as Pass Rate Drops from 68% to 40% | Law

    Burna Boy Reclaims Top Spot as Most

    © 2026 Copyright. All Rights Reserved by ABSAFRICATV
    • Privacy Policy
    • Terms of Services

    Type above and press Enter to search. Press Esc to cancel.

    We use cookies to ensure that we give you the best experience on our website. If you continue to use this site we will assume that you are happy with it.